Hi DaddyAce,
I've been seeing this for quite some time on my box but I was using the Windows Resource Monitor to record the CPU core usage during playing of AHIII then snipping the graphs as soon as I could to save them.
I had completely spaced off that MSI Afterburner was capable of monitoring individual CPU core usage and I can also set the graph width as wide as I want to get a good recording sequence of the graph lines.
I had disabled hyperthreading on my CPU to see if this would help and had found out that the OS had parked all 6 of the logical cores anyway and from reading up on this found that most games won't benefit from hyperthreading anyway if a CPU has more than 2-4 physical cores on die as most games won't need them and I don't do any content creation\video streaming type of activity on my box that could use the extra logical CPU cores as well as hyperthreading was invented to help a
single core CPU to process more than 1 thread at a time to increase single core CPU performance. After multi-core CPU's have become the norm for consumers hyperthreading has much less practical use in application and could in some cases cause less CPU performance instead of more.
From doing a LOT of reading\studying on the subject (also conferring w\ others as well) of the way a Windows OS works to assign app\game threads to CPU cores for execution, what you see on the graph of AHIII running under Dx11 is pretty typical across a multi-core CPU when the app\game isn't coded to give CPU core affinity instructions to the OS to assign it's threads to but what is seen on the graph of AHIII running under Dx9 has the
appearance of the particular CPU core affinity pattern being
designated instead of being randomly assigned.....just what is instructing the OS to designate the particular CPU core usage pattern to AHIII game threads under Dx9 is what I can't isolate so far. I've done MANY game runs using both Dx9 and Dx11 and have only witnessed the OS to deviate from the CPU core usage pattern running AHIII 1 time using Dx11 but never using Dx9. Usually CPU core affinity is written into the app\game software to instruct the OS to use certain CPU cores on a multi-core CPU (the preferred method by MS) to process the app\game threads due to the developer's goals\wishes but this adds more complexity to the app\game code that most developers don't want to get into so this is usually left to the OS to do so the OS will always start w\ Core1 (usually identified by the OS as Core0) and will assign a new thread to the next idle CPU core in sequence if the prior CPU core hasn't completed executing the thread it was assigned at the time. It is this CPU core affinity assignment that I believe is what is giving AHIII the stability when it is ran under Dx9 vs Dx11 as the chosen CPU cores are far more saturated w\ thread execution thus are not near as idle thus do a better job of keeping the GPU saturated w\ rendering work and in synch flipping finished graphics frames to display thus no screen freeze\pause seen.
Taking all this w\ the fact that I've never witnessed a screen freeze\pause on my box running AHIII under Dx9 vs Dx11 is lending a lot of credence to what I've posted above but since I can't verify it to be more than coincidence (or theory if you prefer) the school is still out on this being the culprit that is causing the screen freezes\pauses that I've seen on my box. I seriously do not believe the issue is solely the AHIII game client software in\of itself or the HTC servers themselves...........could just be a function of further developing the game to be so efficient using post-processing graphics rendering that has offloaded the GPU loads under Dx11 to the point that they're becoming more idle due to moving data faster than the CPU can get it to them thus causing what we're seeing.....Dx11 IS much more efficient in post-process graphics rendering due to Shader Model 5.0 vs Dx9 w\ Shader Model 3.0.
I have isolated in times past this screen freezing\pausing to be caused by a more modern and powerful GPU simply outpacing the CPU\mobo mem\subsystem of a particular computer configuration's ability to keep the more modern GPU fed fast enough to keep the GPU busy and stay in synch so it would "freeze" until the rest of the system caught up (the main reason why I went to using Intel's X series HEDT platforms). But if something is causing the CPU to slow down arbitrarily the same screen freezing\pausing can occur if the CPU is slowed down enough so that it can't keep pace w\ the GPU...............and from the graphs it doesn't appear to be that the CPU is overloaded by threads\workload under Dx11.........................
.
This is my thoughts on this issue of screen freezing and what got me to start monitoring GPU\CPU usage................
Well I've wasted enough time typing.......time for flying now.