• 0 Posts
  • 200 Comments
Joined 3 years ago
cake
Cake day: June 12th, 2023

help-circle
  • It’s not really the intended use case of Lua to be used in things that will be upgraded after they’re released. It’s meant for things that need to work exactly the same way in a decade as they do now, and that’s best served by sticking to a specific version and either only upgrading to bugfix releases, or sticking to one specific commit forever. Those use cases also are better served by sticking to old versions of any libraries they use that are written in Lua (otherwise they might be hit by regressions or turn out to have been reliant on old buggy behaviour that’s been fixed), so probably aren’t upgrading to newer versions. That’s why the article is making the point that it’s not worthwhile for the maintainers of those libraries to keep compatibility with old versions of Lua as the people still using old versions of Lua are probably going to be sticking to old versions of those libraries, too.


  • It’s not that uncommon for games to stutter for 50 ms, e.g. when an async task on a worker thread takes too long and holds up the rest of the game, or when something needs loading. For a Unity-based game, garbage collection can block the main thread for that long if the developer wasn’t careful, too. It’s also only sampling every 10 ms rather than recording every power state change, so a game that takes less than 10 ms to actually do its processing has a decent chance of missing any sampling points for a while.

    The exact quote from the mailing list is:

    The 300 ms decay is sized so that a render thread which is only 50-80% busy from periodic vsync and GPU-fence waits holds the boost across its whole busy period at a couple of CPPC_REQ writes total, while an idle core sheds the boost well before it can matter. The energy exposure of a wide window is small because EPP only influences behavior in C0 and an idle core sits in CC6 regardless. If folks want me to make these tunable I am happy to expose them.



  • You’re injecting your own definition of Lemmy. The normal definitions would be:

    • The software running on the websites and webservers. It’s the same software running on all the websites, so it’s still only one Lemmy no matter how many websites it powers.
    • The subset of the Fediverse that’s accessible via Lemmy software. There’s only one of that (although defederation makes it a little complicated as you can’t access all of Lemmy from any one website).



  • That’s not exactly it. It’s the game that sleeps (e.g. because it’s waiting for the graphics driver to be ready for more work or there’s a framerate limiter). When it sleeps, the CPU core running that thread temporarily goes to idle speed, then when the sleep finishes, it initially clocks back to a medium speed and only goes back to full speed after it’s run for a while because someone somewhere assumed that processes that sleep of their own volition don’t care if they don’t run quickly. That’s not true for games, so they take longer to prepare the next frame than they should.

    The patch makes it so that if a core goes into the C0 state (maximum speed) and has already been in the C0 state for most of the time for a few milliseconds, it temporarily sets a preference for that core to go straight to full speed after a sleep instead of to medium speed, and doesn’t remove that preference until it’s not been in in C0 for 300ms. That gets rid of the slow start after each frame’s sleep.




  • Most people have very little agency to change things, as even if they spend time and money they don’t have on getting their personal impact to zero, and nearly everyone else does the same, it won’t make much difference. There are a handful of people with so much money and influence that they could significantly change things, though, but who only care about further enriching themselves. It’s only really that handful of people who are behaving stupidly. The majority of people did not actively decide to create a system that gives the most power to the kind of person with that specific personality trait.






  • Depending on the context, it could just be who’s doing it. Star Wars was originally specifically an allegory for the Vietnam War, which was a war of Western imperialism because the two countries making it a war rather than a country gaining its independence were France (who’d conquered Vietnam as part of their empire and weren’t happy that the Vietnamese didn’t want to be in their empire) and the US (who wanted to stop communists gaining power anywhere), both of which are Western countries. It was about that war in particular rather than imperialism in general because that war in particular was the one that was a big deal for the target audience at the time - if Lucas had been Japanese and making the film decades earlier, maybe he’d have made it an allegory for something else, but he wasn’t, so he made the film he made.


  • AnyOldName3@lemmy.worldtoFediverse memes@feddit.ukExtremism
    link
    fedilink
    English
    arrow-up
    13
    ·
    13 days ago

    Not ban-free, just easier to not care if you get banned by an idiot as you can make your own community with the same name on a different instance if you think a moderator is being dumb, and can move your account to a different instance if an admin is being dumb. If other people think you’re doing a better job, then your new community will outgrow the older one.

    With reddit, there’s only one community with each name, one set of admins, and one way to access things, so if something like this incident happened there, anyone affected would be totally fucked.





  • Because memory bugs are an absolute bastard to investigate compared to logic bugs, Rust makes the tradeoff of making it harder to express the logic of a program in return for making memory bugs impossible. That Should™ make it easier to write code with no bugs, but can make it harder to write code with no easily-encountered bugs. The kind of bugs it’s really good at preventing are ones that go unnoticed for years or take years to link to their root cause, and those aren’t the kinds of bug everyone encounters every time they run a program.