• Blaster M@lemmy.world
    link
    fedilink
    English
    arrow-up
    34
    ·
    23 hours ago

    TLDR: Sometimes games lag because the cpu wants to sleep between each frame. AMD patch adds a per-core cpu performance profile, which lets games run on their cpu core(s) at full speed (no mid-frame sleeps) without setting the whole cpu into a battery-sucking performence mode.

    • AnyOldName3@lemmy.world
      link
      fedilink
      arrow-up
      35
      ·
      21 hours ago

      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.