Skip to main content

Intel Shows Game Developers How to Optimize CPU Performance for Alder Lake

Future CPU stock image Alder Lake-S
(Image credit: Photoshop)

Intel released a new development guide for game developers to optimize PC games for Alder Lake's new hybrid core architecture featuring performance and efficiency cores. The guide is very in-depth, as it discloses a multitude of ways that you can push workloads to specific core clusters.

The goal of optimizing code for Alder Lake's hybrid layout is to ensure the performance cores are doing all the heavy lifting while the efficiency cores handle all the light workloads and background tasks.

To simplify the programming model for developers, all performance cores and efficiency cores have the same instruction set, meaning both clusters of cores can handle the same workloads. The exception to this is AVX-512, which is only supported on the performance cores. To enable AVX-512 support, you will need to disable the efficiency cores within the BIOS.

There will also be several core configurations developers should be aware of when optimizing for Alder Lake. Intel details two configurations for desktop chips: 6C + 0A (no efficiency cores), and 8C + 8A. Laptop chips meanwhile will feature different configurations including: 2C + 8A and 6C + 8A.

Intel's Alder Lake CPUs will be running on a new scheduler, called the Intel Thread Director (ITD). Its job is to provide Instruction Set Architecture (ISA) awareness to the operating system, which allows the ITD to pair tasks with the proper cores.

ISA is a feature that allows Windows to see the performance characteristics of each core cluster. If ISA did not exist, Windows would believe all cores on Alder Lake perform the same and assign workloads to the wrong set of cores.

Developers will have the option to heavily utilize the ITD to do the work for them. Alternatively, they can use several Intel-created tools to manually set CPU affinity, prioritization, and scheduling for the game they are creating. This could be beneficial for further optimizing a game if Alder Lake's ITD isn't doing the job.

Things can get complicated for game developers when choosing which game tasks are assigned to specific cores. Things like render tasks should go to performance cores to get the job done quickly, and background processes can be completed on the efficiency cores. Some scenarios also benefit from disabling the efficiency cores entirely to give as much power as possible to the performance cores.

There's also the challenge of making sure the performance cores are not entirely maxed out. Intel specifies that tapping into the efficiency cores when the performance cores are overloaded is optimal to ensure that the entire CPU is utilized.

Overall, the amount of optimizing developers can perform with Alder Lake is nearly endless. This could impact launch day performance results due to bad optimizations at the start. But as time goes on, we should see developers getting the hang of intel's new hybrid architecture and see a general performance increase.

  • TerryLaze
    Admin said:
    Intel releases a new Alder Lake development mS8pa498vo36d7ekoK5NmUe,
    Did you just suffer a stroke and fell onto the keyboard?
    Or is this some intel serial code.
    Reply
  • hotaru251
    TerryLaze said:
    Did you just suffer a stroke and fell onto the keyboard?
    Or is this some intel serial code.
    must be new.

    Intel can't name stuff w/o gibberish in it anymore.
    Reply
  • JamesJones44
    My guess is a fraction of the games out there will ever use this for real optimization. What I bet likely happens for most games given most can't really use a large number of high performance threads, is either they do nothing and let the default scheduler do the work or the throw it in 0A mode and call it a day. It's a nice option to have though, I'll just be surprised if it's used by most games.
    Reply
  • Chung Leong
    JamesJones44 said:
    My guess is a fraction of the games out there will ever use this for real optimization. What I bet likely happens for most games given most can't really use a large number of high performance threads, is either they do nothing and let the default scheduler do the work or the throw it in 0A mode and call it a day. It's a nice option to have though, I'll just be surprised if it's used by most games.

    Most of the work will be done at the engine level and a lot of it can be automated. While running uncomplicated code that doesn't branch all over the place, the Gracemont cores can probably perform nearly as well as the Golden Cove cores. When you notice that the small cores are suffering many pipeline stalls on a given thread, you promote it to the big cores.
    Reply
  • salgado18
    Oh, great! Now game developers not only have to work their mass off to make a highly threaded game (definitelly not trivial), but also have to consider different CPU configurations, as if there were two distinct processors - or only one, in 6C-0c configs. Thanks Intel, your catch-up improvization will make programmers life a lot harder.
    Reply
  • TerryLaze
    salgado18 said:
    Oh, great! Now game developers not only have to work their mass off to make a highly threaded game (definitelly not trivial), but also have to consider different CPU configurations, as if there were two distinct processors - or only one, in 6C-0c configs. Thanks Intel, your catch-up improvization will make programmers life a lot harder.
    This has been a thing ever since the ps4 came out, devs have a lot of experience by now using only one APU for performance and the other one for background/helper threads since the lag between the two APUs is pretty high.
    It should be pretty trivial to move this same concept over to alder.
    Reply
  • hannibal
    It is intel... 80% of computer have intel cpu. Of course the developers optimize the tasks for intel cpus!
    If this would be AMD you would have to wait optimizations many years, if ever. Just look the win11 situation... that is luckily getting better... soonish...
    Reply
  • TerryLaze
    hannibal said:
    It is intel... 80% of computer have intel cpu. Of course the developers optimize the tasks for intel cpus!
    No they don't because they don't need to, either for intel or AMD, they are good enough to run unoptimized code.
    Devs only optimize for systems that would otherwise be unable to properly run the software, in other words consoles, and now with consoles becoming strong enough maybe they will stop optimizing all together other then for PR reasons on special occasions. This has ben the case for applications as well for years, there are extremely few that are optimized in any way beyond what the compilers do on their own.
    Reply
  • hannibal
    For Alder lake they have to optimize or the game may not work properly and Intel's big market share means that they will make optimizations, or they lose bigger part pf their customers.
    Reply
  • TerryLaze
    hannibal said:
    For Alder lake they have to optimize or the game may not work properly and Intel's big market share means that they will make optimizations, or they lose bigger part pf their customers.
    None of the console games in the last years have worked properly on any CPU other then by mistake, all of them always have accounts of stutter and frame drops and missing graphics and whatnot that show up randomly even on systems that used to play them well.
    Reply