• 0 Posts
  • 39 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle







  • ShortFuse@lemmy.worldtoMemes@lemmy.mlsIGmA BeHaiovouR
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    3 months ago

    Steam has limited rollback support from the command line which we had to do plenty of times for Starfield when working on Luma. Sometimes updates are small. Sometimes the entire exe gets reshuffled so you have to find where to patch the exe all over again.

    All the versions are apparently there. You just need to download the “depot” and it’ll dump into a folder. From there you copy that folder over your game directly.

    It also works the other way around. I can download the depot for the latest version and stay on the version I’m at. It’s useful to pick apart and diff what was actually changed.

    Why they can’t add that as an option I’m not sure. That seems more of a UX/UI issue rather than a technical one (like avoiding people using old versions on the web server).


  • ShortFuse@lemmy.worldtoMemes@lemmy.mlsIGmA BeHaiovouR
    link
    fedilink
    arrow-up
    14
    ·
    edit-2
    3 months ago

    I was about to mod the game for HDR and then found out news of FO4 getting updated.

    Updates break mods. Just how it is. Though, after seeing the work needed for modding Starfield after each exe change, I’m doing shader replacement now. As long as they don’t change from DirectX, I should be good.

    Edit: Nevermind. Somebody asked me for help and got roped in. Got HDR working. Let’s see if it actually lasts.

    Edit2: Just gotta fix TAA. Source





  • Yeah, that’s a big simplification and I get it. But the async syntax itself syntax “sugar” for Promises. It’s not like C# or Java/Android where it will spawn a thread. If you take a JSON of 1000 rows and attach a promise/await to each of them, you won’t hit the next event loop until they all run to completion.

    It’s a common misconception that asynchronous means “run in background”. It doesn’t. It means run at end of current call stack.

    Prior to that, the browser had window.setTimeout and its callback for delays and animation and such - but that’s it.

    And you STILL have to call setTimeout in your async executions or else you will stall your UI.

    Again async is NOT background. It’s run later. async wraps Promise which wraps queueMicrotask.

    Here is a stack overflow that explains it more in detail.



  • ShortFuse@lemmy.worldtoProgrammer Humor@lemmy.mlSTOP DOING ASYNC
    link
    fedilink
    arrow-up
    4
    arrow-down
    1
    ·
    5 months ago

    Async prevents locking a thread during this wait.

    That’s a very common misconception. async is just a scheduling tool that runs at the end of event loop (microtask queue). It still runs on the main thread and you can still lock up your UI. You’d need Web Workers for actual multi-threading.


  • async/await is just callback() and queueMicrotask wrapped up into a neat package. It’s not supposed to replace multi-threading and confusing it for such is dangerous since you can still stall your main/UI thread with Promises (which async also wraps).

    (async and await are also technically different things, but for the sake of simplicity here, consider them a pair.)





  • Did well with Brother laser printer. Canon was okay.

    I had setup a friend’s HP printer and noticed he was constantly switching to WiFi Direct in order to print. I did him the favor of connecting it to the AP, so he wouldn’t have to manually switch all the time.

    The moment it got online, the printer locked itself down and refused to continue print until he paid for a subscription service on the ink.