In linux, the preferred scheduler is CFS (correct me if I'm wrong), I'm not sure what the preferred scheduler is on Windows. It's possible to change the scheduler in linux, even after you boot. I'm not sure if this feature exists on Windows or if Microsoft has made this feature available to developers.

Are there schedulers that are a better fit for games - i.e. give better guarantees on latency, working with semi-fair schedulers (like with gpus), etc.? What assumptions does CFS or the Windows scheduler make that are well suited for gaming and which ones can be changed to better suit gaming needs? Is there one that is commercially available or is this something that is still being (actively?) researched?

  • \$\begingroup\$ Can you clarify, what problem are you solving? Is the game or mod you're developing not behaving as desired on the stock Windows or Linux schedulers? Do you have profiling information we can look at to help you identify potential solutions? \$\endgroup\$
    – DMGregory
    Oct 19, 2020 at 1:53
  • \$\begingroup\$ Windows has no such feature. There are other things that can be done to improve performance on Windows. Plus Windows already does a few things when it detects a game. As per Linux I found the following: CPU Scheduler Benchmark - 6 Games - BMQ PDS Undead PDS. I can write an answer around that, however it is bound to not age well. \$\endgroup\$
    – Theraot
    Oct 19, 2020 at 1:57
  • \$\begingroup\$ Thanks @DMGregory - I was just curious about this problem after learning about it in my os class. Some of the tradeoffs discussed in class weren't something that games would prioritize. \$\endgroup\$
    – AnkilP
    Oct 19, 2020 at 19:59
  • \$\begingroup\$ Usually in games we treat the OS as "out of our hands". We trust the OS vendors to make sufficiently good choices to support the apps their users/customers want to use. So, choosing a scheduler is generally not a problem that game developers solve. If you're making a game and have run into a problem along the way, we can help you solve that here. But we might not be the right folks to answer this particular point of curiosity. \$\endgroup\$
    – DMGregory
    Oct 19, 2020 at 21:34
  • \$\begingroup\$ Ah I meant to post this as well - Thanks @Theraot - the video was really interesting and would very much appreciate an answer! \$\endgroup\$
    – AnkilP
    Oct 19, 2020 at 23:15


You must log in to answer this question.

Browse other questions tagged .