
When Intel s Efficiency Cores Cause Inefficiency: APO Benchmarks & +30% Performance Tech Demo
video description
Date: 2023-11-15
Related videos
Comments and reviews: 20
Righteous
Steve, if you read this. I highly suggest testing (for your own information) hyperthreading Off but E-Cores On, I saw pretty gnarly performance gain in frame to frame in gaming, and reduced mouse latency. It prevents most of 13900k stutters caused by E-Cores and P-Core interacting with Win 11 scheduler.
7950x3D suffers from stutters because frequencies do not match, and 3D cache is clocked lower, and scheduler goes there first, hence why you are required to use Xbox Game Bar
Hyperthreading off with E-Cores turned on in games made it as though I upgraded my CPU to next gen.
Very tangible mouse response and buttery smooth transition.
Before I would get a frame to frame spike, and fps drop, even with RTX 4090, and on RTX 4080. Now? I forgot about those random spikes.
Sounds like APO is addressing some of it, but I don't think you got a video on Hyperthreading off, but E-Cores on, and watching frame to frame. Try it, it's fascinating.
reply
Steve, if you read this. I highly suggest testing (for your own information) hyperthreading Off but E-Cores On, I saw pretty gnarly performance gain in frame to frame in gaming, and reduced mouse latency. It prevents most of 13900k stutters caused by E-Cores and P-Core interacting with Win 11 scheduler.
7950x3D suffers from stutters because frequencies do not match, and 3D cache is clocked lower, and scheduler goes there first, hence why you are required to use Xbox Game Bar
Hyperthreading off with E-Cores turned on in games made it as though I upgraded my CPU to next gen.
Very tangible mouse response and buttery smooth transition.
Before I would get a frame to frame spike, and fps drop, even with RTX 4090, and on RTX 4080. Now? I forgot about those random spikes.
Sounds like APO is addressing some of it, but I don't think you got a video on Hyperthreading off, but E-Cores on, and watching frame to frame. Try it, it's fascinating.
reply
Leo
My takeaway is that this is an admission from Intel that they'll never get the scheduler to actually work properly with a mixture of cores. If it's not automatic, and has to be done for specific games through a process that takes a long time, then it's worth absolutely nothing, IMO. By the time an app or game you use or play actually has support (if it EVER gets support), hardware will be so good that the increase makes zero difference. I mean, who honestly cares if R6 runs at 700 or 800 FPS? If they got Cities Skylines 2 to run properly, then they'd have my attention, but this is just garbage, and proves the scheduler is never going to work properly. I'd prefer they scrapped E cores entirely if they can't make them work. E cores themselves seem like a crutch for Intel's inability to have as many proper cores as AMD (within cost, yield, size and power budgets), and APO isn't a feature it's a worthless bandaid that's too little, too late.
reply
My takeaway is that this is an admission from Intel that they'll never get the scheduler to actually work properly with a mixture of cores. If it's not automatic, and has to be done for specific games through a process that takes a long time, then it's worth absolutely nothing, IMO. By the time an app or game you use or play actually has support (if it EVER gets support), hardware will be so good that the increase makes zero difference. I mean, who honestly cares if R6 runs at 700 or 800 FPS? If they got Cities Skylines 2 to run properly, then they'd have my attention, but this is just garbage, and proves the scheduler is never going to work properly. I'd prefer they scrapped E cores entirely if they can't make them work. E cores themselves seem like a crutch for Intel's inability to have as many proper cores as AMD (within cost, yield, size and power budgets), and APO isn't a feature it's a worthless bandaid that's too little, too late.
reply
ApacheVR-4
Ok, I have to ask the question, and I REALLY hope that someone with GN sees this and looks into it, but has anyone done any really in-depth testing using Process Lasso to better control the E-Cores? I personally have been using PL to tie most of my background tasks to the E-Cores only, leaving the P-Cores free to be used by my games as the games see fit. I have also used it to tie a game or 2 specifically to the P-Cores and make it so that those games aren't even aware that the E-Cores exist.
I would love it if GN would do some digging to see what kind of effect (if any) they find using PL on it's own vs something like APO. Like I said, I have done some limited amount of testing on my own with decent results, but I don't have the free time or (more importantly) the know how to really come to any definitive conclusions on this.
reply
Ok, I have to ask the question, and I REALLY hope that someone with GN sees this and looks into it, but has anyone done any really in-depth testing using Process Lasso to better control the E-Cores? I personally have been using PL to tie most of my background tasks to the E-Cores only, leaving the P-Cores free to be used by my games as the games see fit. I have also used it to tie a game or 2 specifically to the P-Cores and make it so that those games aren't even aware that the E-Cores exist.
I would love it if GN would do some digging to see what kind of effect (if any) they find using PL on it's own vs something like APO. Like I said, I have done some limited amount of testing on my own with decent results, but I don't have the free time or (more importantly) the know how to really come to any definitive conclusions on this.
reply
TechSY730
This kind of feels like Intel is admitting that the combination of Windows' notoriously finicky thread scheduler combined with the limitations of Thread Director and the CPUs heuristics, have proven to be inadequate.
So inadequate, they are having to make game developers tell what threads should be important (beyond the normal static and dynamic thread priorities). Making developers do the job that Thread Director was supposed to do. (remember, APO is something the Game developers have to integrate their binary with; it is not automatic)
Partially defeating the purpose of the abstraction of the OS handling scheduling, as well as Thread Director.
reply
This kind of feels like Intel is admitting that the combination of Windows' notoriously finicky thread scheduler combined with the limitations of Thread Director and the CPUs heuristics, have proven to be inadequate.
So inadequate, they are having to make game developers tell what threads should be important (beyond the normal static and dynamic thread priorities). Making developers do the job that Thread Director was supposed to do. (remember, APO is something the Game developers have to integrate their binary with; it is not automatic)
Partially defeating the purpose of the abstraction of the OS handling scheduling, as well as Thread Director.
reply
Daniel
I've said this at HUB's video, as well:
In the end, Intel basically admitted that Thread Director still sucks, at least for gaming. This is really hand-tuned scheduling, because they can't just disable TD altogether and fall back on Windows' standard scheduling for games, either.
I wouldn't even call this a tech demo , simply because it's not tech. Call it craftsmanship if you must - because that's more in line with people at Intel painstakingly pre-determining scheduling for a specific application. What a horribly unsustainable way of going about problems just because marketing told you so. Really reminds me of that oberclocked Xeon at Computex.
reply
I've said this at HUB's video, as well:
In the end, Intel basically admitted that Thread Director still sucks, at least for gaming. This is really hand-tuned scheduling, because they can't just disable TD altogether and fall back on Windows' standard scheduling for games, either.
I wouldn't even call this a tech demo , simply because it's not tech. Call it craftsmanship if you must - because that's more in line with people at Intel painstakingly pre-determining scheduling for a specific application. What a horribly unsustainable way of going about problems just because marketing told you so. Really reminds me of that oberclocked Xeon at Computex.
reply
Bl k
An intel style introduced problem demanding an intel style decrepit solution.
Instead of having efficiency cores, why not include 2 more proper cores and let the OS scheduler do its work? Any modern OS work scheduler is better than any proprietary software trying to figure out what is going on in the OS. Anyway, for Win users, use the task manager and set manually which program uses which core in the affinity or create a bat script directly invoking the executable with correct start affinity. I'm 100% sure, that lin users can do the same, better and more comfortable with maybe even retaining settings and without the need of a bat/bash script.
reply
An intel style introduced problem demanding an intel style decrepit solution.
Instead of having efficiency cores, why not include 2 more proper cores and let the OS scheduler do its work? Any modern OS work scheduler is better than any proprietary software trying to figure out what is going on in the OS. Anyway, for Win users, use the task manager and set manually which program uses which core in the affinity or create a bat script directly invoking the executable with correct start affinity. I'm 100% sure, that lin users can do the same, better and more comfortable with maybe even retaining settings and without the need of a bat/bash script.
reply
Radu
This is probably an internal testing tool that was abandoned 4 years ago when research into raptor lake stopped. This evolved into the on chip hardware thread scheduler that is on meteor lake. So I don t think there will be any meaningful updates since this is already deprecated and realistically does nothing that you couldn t do yourself with project lasso, just like AMDs broken scheduler for the hybrid X3D chips it was something they tried to do to fix a flaw with the windows thread scheduler, which maybe in win12 will be better, or in intels case they don t care because they have severely beefed up the thread scheduler on die.
reply
This is probably an internal testing tool that was abandoned 4 years ago when research into raptor lake stopped. This evolved into the on chip hardware thread scheduler that is on meteor lake. So I don t think there will be any meaningful updates since this is already deprecated and realistically does nothing that you couldn t do yourself with project lasso, just like AMDs broken scheduler for the hybrid X3D chips it was something they tried to do to fix a flaw with the windows thread scheduler, which maybe in win12 will be better, or in intels case they don t care because they have severely beefed up the thread scheduler on die.
reply
EthelbertCoyote
Great coverage GN. This is why Intel needs to put it's Ai RND energy hard into Ai acceleration of thread director. It's a win win for them, and as such would drive cpu sales and Ai sales as a showcase. Efficiency I think will be the first real boon of Ai, just imagine if intel had the first Ai DPU to feed all of a computers data draws, bottlenecks could be really known on a new level and responded to. Thread Directors real promise v.s. AMD's own big little apporach only shines when threads can be cascaded to by thread size, ability to be cache hit by L1 - L3 and timing latencies.
reply
Great coverage GN. This is why Intel needs to put it's Ai RND energy hard into Ai acceleration of thread director. It's a win win for them, and as such would drive cpu sales and Ai sales as a showcase. Efficiency I think will be the first real boon of Ai, just imagine if intel had the first Ai DPU to feed all of a computers data draws, bottlenecks could be really known on a new level and responded to. Thread Directors real promise v.s. AMD's own big little apporach only shines when threads can be cascaded to by thread size, ability to be cache hit by L1 - L3 and timing latencies.
reply
Summanis
One thing that HUB found that wasn't mentioned here is that the APO changes actually had a larger impact than just turning off e-cores. Looking at their e-core load distribution, it looks like 1 e-core per cluster was utilized. I wonder if they wanted to keep the extra 4MB cache per cluster without using too many e-cores.
Given the hybrid scheduling oddities encountered with CS2, that would probably be the biggest title they could add to APO. Given that a solid chunk of the player base plays on 4:3 stretch with minimum settings, the CPU is probably the bottleneck for many people.
reply
One thing that HUB found that wasn't mentioned here is that the APO changes actually had a larger impact than just turning off e-cores. Looking at their e-core load distribution, it looks like 1 e-core per cluster was utilized. I wonder if they wanted to keep the extra 4MB cache per cluster without using too many e-cores.
Given the hybrid scheduling oddities encountered with CS2, that would probably be the biggest title they could add to APO. Given that a solid chunk of the player base plays on 4:3 stretch with minimum settings, the CPU is probably the bottleneck for many people.
reply
Brutus
I really like the idea behind this. But, with it being so specific, I'm wondering if Intel could develop this into a dev kit that software vendors can then use to make their own profiles. 'Cause a lot of people try to use Intel consumer desktop systems for music work, and multimedia in general; and the e-cores have been a problem, but on an app-by-app basis. Not only would a kit allow vendors to solve their own efficiency problems on their own, it would help secure adoption of this idea. Furthermore, I can only imagine how handy this could be for virtualization apps, too.
reply
I really like the idea behind this. But, with it being so specific, I'm wondering if Intel could develop this into a dev kit that software vendors can then use to make their own profiles. 'Cause a lot of people try to use Intel consumer desktop systems for music work, and multimedia in general; and the e-cores have been a problem, but on an app-by-app basis. Not only would a kit allow vendors to solve their own efficiency problems on their own, it would help secure adoption of this idea. Furthermore, I can only imagine how handy this could be for virtualization apps, too.
reply
Alyx
This could be simply a way to show microsoft what they need to do in order to optimize for little cores, or show microsoft that there is a want for this
Controlling a scheduler from ring 1 or 2 is a massive pain in the ass already, controlling it dynamically is just going to be a hacky workaround that i dont think intel has the appetite to continue and is hoping that microsoft actually changes their scheduler to take specific applications or even specific instruction groupings in to account. I can actually see this happening as they kinda need to for ARM anyway.
reply
This could be simply a way to show microsoft what they need to do in order to optimize for little cores, or show microsoft that there is a want for this
Controlling a scheduler from ring 1 or 2 is a massive pain in the ass already, controlling it dynamically is just going to be a hacky workaround that i dont think intel has the appetite to continue and is hoping that microsoft actually changes their scheduler to take specific applications or even specific instruction groupings in to account. I can actually see this happening as they kinda need to for ARM anyway.
reply
Dr_b_
Intel really needs to release a high spec 8 all P-Core only CPU. Have my Ecores disabled, and don't notice anything from productivity to gaming. The CPU would be cheaper to make since it would be smaller, and for that matter they could just release the same CPU completely sans the iGPU on the die. If they wanted to they could use that saved real estate for something actually useful like adding in another 16x PCIe lanes..... AMD democratized cores, forced intel to release these hybrid things that no one asked for, but both companies forgot about PCIe lanes
reply
Intel really needs to release a high spec 8 all P-Core only CPU. Have my Ecores disabled, and don't notice anything from productivity to gaming. The CPU would be cheaper to make since it would be smaller, and for that matter they could just release the same CPU completely sans the iGPU on the die. If they wanted to they could use that saved real estate for something actually useful like adding in another 16x PCIe lanes..... AMD democratized cores, forced intel to release these hybrid things that no one asked for, but both companies forgot about PCIe lanes
reply
Xeridea
So essentially, Intel is just disabling E-Cores, in an extremely convoluted way. Much simpler method would be to just set processor affinity in task manager, and this works for any program. Intel E-Core implementation is trash. They aren't actually much, if at all more efficient power wise, only space wise, and that is even somewhat questionable. If you just downclock P-Cores, they become a lot more efficient, though Intel doesn't have as good of power scaling as AMD. Hybrid architecture works amazing for phones, but apparently Intel sucks at it.
reply
So essentially, Intel is just disabling E-Cores, in an extremely convoluted way. Much simpler method would be to just set processor affinity in task manager, and this works for any program. Intel E-Core implementation is trash. They aren't actually much, if at all more efficient power wise, only space wise, and that is even somewhat questionable. If you just downclock P-Cores, they become a lot more efficient, though Intel doesn't have as good of power scaling as AMD. Hybrid architecture works amazing for phones, but apparently Intel sucks at it.
reply
Zippy
It feels like the best place for the market to move is efficiency cores, that are kinda slow, are a good way to get software optimization started, since there is no cheap way to gain real speed advancement. It's almost like they are trying to slow down the CPU performance , to not have to deal with thermal and performance issues, for a few years. Then, when software optimizations are better, combine that with better designed efficiency cores. You might see lower power needs, only with the same level if not faster performance.
reply
It feels like the best place for the market to move is efficiency cores, that are kinda slow, are a good way to get software optimization started, since there is no cheap way to gain real speed advancement. It's almost like they are trying to slow down the CPU performance , to not have to deal with thermal and performance issues, for a few years. Then, when software optimizations are better, combine that with better designed efficiency cores. You might see lower power needs, only with the same level if not faster performance.
reply
Carlos
Interesting i am teating the ddt and the thermal thingy with a oc 12700k on intel specs and i think is interesting. So is not a refresh has more. Let see most of the times amd and intel add stuff to test for next gens like this for intel and cluster deep F for the am5 soc, that still working on it. What appears to happen is force games go to p cores and the rest on e cores some apps even use same ecores .... The e p thingy is still new and windows has blame on many areas. is getting better at least better than last year
reply
Interesting i am teating the ddt and the thermal thingy with a oc 12700k on intel specs and i think is interesting. So is not a refresh has more. Let see most of the times amd and intel add stuff to test for next gens like this for intel and cluster deep F for the am5 soc, that still working on it. What appears to happen is force games go to p cores and the rest on e cores some apps even use same ecores .... The e p thingy is still new and windows has blame on many areas. is getting better at least better than last year
reply
Kira
So let me get this straight, Intel is broaching the option to turn off E-Cores as a brand new feature (thus far exclusive to top-end CPUs) and it has unwittingly proven that Intel's E-Cores are an active detriment to game performance. So Intel might've actually caught up with AMD at some point, but we can't tell because Intel and Microsoft are both incompetent. I can't decide if that's funny because I don't like Intel in the first place, or infuriating because I like healthy market competition.
reply
So let me get this straight, Intel is broaching the option to turn off E-Cores as a brand new feature (thus far exclusive to top-end CPUs) and it has unwittingly proven that Intel's E-Cores are an active detriment to game performance. So Intel might've actually caught up with AMD at some point, but we can't tell because Intel and Microsoft are both incompetent. I can't decide if that's funny because I don't like Intel in the first place, or infuriating because I like healthy market competition.
reply
Steve
yeah, the whole concept of E/P cores is flawed and is doomed to failure. just wonder how long it will take. Basically the only entity that knows what is 'background' would be the application developer, NOT the OS or CPU. So you will always miss the target and cause issues. This is probably not noticed much for users that barely use a system so a bottleneck is not noticed as much, but for anyone who uses mixed applications having different processing cores is nothing but a problem.
reply
yeah, the whole concept of E/P cores is flawed and is doomed to failure. just wonder how long it will take. Basically the only entity that knows what is 'background' would be the application developer, NOT the OS or CPU. So you will always miss the target and cause issues. This is probably not noticed much for users that barely use a system so a bottleneck is not noticed as much, but for anyone who uses mixed applications having different processing cores is nothing but a problem.
reply
benni_w_
I think that a comparison between non-APO, APO and non-APO with E-Cores disabled in the bios would be interesting. Or maybe non-APO and using Windows Taskmanager or something like Process Lasso to make the game use the P-Cores only.
Also loading times might actually get worse / longer with APO, because it prevents the game from using all of the available cores (for loading scenarios in games that (can) make use of all of the available cores that a 14900k has to offer).
reply
I think that a comparison between non-APO, APO and non-APO with E-Cores disabled in the bios would be interesting. Or maybe non-APO and using Windows Taskmanager or something like Process Lasso to make the game use the P-Cores only.
Also loading times might actually get worse / longer with APO, because it prevents the game from using all of the available cores (for loading scenarios in games that (can) make use of all of the available cores that a 14900k has to offer).
reply
Ardren
Unless games are using all P-cores 100%, it would be interesting to see the benchmarks (99th frame time, etc) with E-cores completely disabled. (APO feels kinda like a band-aid to the fact that Intel thought it would be easier to schedule software between two different core types).
There was an older Hardware Unboxed video that should that at least Rainbow 6 Siege performed better with them off.
Edit: Nevermind, Hardwareunboxed did those tests. Very interesting.
reply
Unless games are using all P-cores 100%, it would be interesting to see the benchmarks (99th frame time, etc) with E-cores completely disabled. (APO feels kinda like a band-aid to the fact that Intel thought it would be easier to schedule software between two different core types).
There was an older Hardware Unboxed video that should that at least Rainbow 6 Siege performed better with them off.
Edit: Nevermind, Hardwareunboxed did those tests. Very interesting.
reply
murderbymodem
This is why my Intel rig was built with an i5 12400. I never had much trust in the big/little thing. Same thing with my new AMD build - I went with a single CCD 7800X3D. I can't believe 7900X3D/7950X3D owners need to use the Xbox Game Bar to make sure Windows is specifically prioritizing the 3D V-Cache cores...
Sometimes cheaper / simpler is better. Throwing money away doesn't always get you the best experience with all of these gimmicks in modern CPUs.
reply
This is why my Intel rig was built with an i5 12400. I never had much trust in the big/little thing. Same thing with my new AMD build - I went with a single CCD 7800X3D. I can't believe 7900X3D/7950X3D owners need to use the Xbox Game Bar to make sure Windows is specifically prioritizing the 3D V-Cache cores...
Sometimes cheaper / simpler is better. Throwing money away doesn't always get you the best experience with all of these gimmicks in modern CPUs.
reply
Add a review, comment
Other channel videos















