Ran some tests........................
..
Thinking that from all the testing that I've done that there is some kind of "code interpretation" issue concerning the game client being run thru the OS under Dx9 vs Dx11 I devised some tests to determine if there is something to that by going into the game client to try to isolate the .dll files that upon client execution signals the OS as to which Dx API version to use then observe the results. Yes I know that these tests are very crude in nature but this is the extent that I can go to at this time................
1.) I removed the D3DX9_43.dll from the game client on 2-12-17 (this .dll is supposed to be the 1 that signals the OS that Dx9 API is to be used w\ the client graphics draw calls....as I understand it's purpose of location within the game client) to see if the game client will still start up under Dx9 or fail. Upon executing the game client thru the Dx9 shortcut after removing this .dll the game actually started up normally and functioning fully---? This threw me for a surprise as I was expecting the game client to stop & give an error stating that this file was missing.....so this exercise showed to me that this .dll file isn't really needed for the AHIII game client to run under Dx9 (so it has to be provided natively thru the OS to compensate....or the actual D3DCompiler_42.dll is the file that is really needed to signal the OS to use the Dx9 API set & it is provided natively thru the OS....this .dll is not listed in the game client at all.....but the game client runs just fine). Please note that I didn't remove the D3DCompiler_47.dll from the game client (this .dll is the 1 that instructs the OS to use the Dx11 API set w\ the game client's graphics draw calls). Ran the game thru a sortie and while I was doing so I witnessed my very 1st screen freeze running under Dx9. Once I got shot down I captured the MSI graph & provided it below.
Coincidence?????????????????????????
2.) After I got home from work today I went in and removed the D3DCompiler_47.dll from the game client and attempted to execute the game client thru the Dx9 shortcut and the game once again started up normally and ran just fine w\o either of these .dll files present within the game client.....again demonstrating that the game either doesn't need these .dll files to instruct the OS to know to use the Dx9 API so the OS has to be reading the game threads to know to initiate and use the Dx9 API set by substituting the correct Dx9 .dll subset (either D3DCompiler_42.dll or D3DX9.dll) at the OS level to the client OR the shortcut's syntax when executed is instructing the OS to use the Dx9 API w\ the game client (leaning on this "suggestion" as it makes the most sense logically). Just for grins & giggles I also removed the xinput 9_1_0.dll from the game client then test the client to see if it will now refuse to start up (or the controls\mouse will not function due to this file being missing)....client started up just fine w\ full input functionality and ran just fine....once again showing to me that these files are being brought to bear thru the OS natively thru reading the game thread instructions OR by the shortcut syntax upon execution. Snippet is provided below of graph of this activity.
3.) Now I put all Dx .dll's back in the client that I had removed except the D3DCompiler_47.dll then tried to execute the client thru the Dx11 shortcut....game would not start up and got a dialog box stating "Game will not start due to D3DCompiler_*.dll missing" (note the error doesn't specifically denote that it's looking for this specific D3DCompiler_47.dll but a similar one). Same client software\code but now is refusing to start under the Dx11 shortcut w\o this D3DCompiler_47.dll being present within the client....but under the Dx9 shortcut the client starts up & runs just fine regardless of whether ANY of this is present or not within the client....except that when this particular .dll WAS present in the client & running under Dx9 was when I witnessed the very 1st screen pause on my box running the game client under Dx9 when the D3DX9.dll is NOT present within the client................. The only way the AHIII game client would start up & run under the Dx11 shortcut was when this D3DCompiler_47.dll file was inserted back into the game client and read as present in the game client file listing upon client execution into Windows..........
Hhhhmmmmm....................
........
Now both Dx API's natively exist within the same OS version but the client seems to be able to be read natively by the OS to use Dx9 API w\o any pretext thru the game client when initially executed, but the same OS has to be expressly instructed by the same game client upon execution w\ a D3DCompiler_47.dll to use the Dx11 API instead of the "aceshigh11.exe" in the Dx11 shortcut as I'm assuming the "aceshigh9.exe" in the Dx9 shortcut is able to be read by the OS upon it's execution to use Dx9 API...........my crude tests seem to concur w\ this outcome....................
Why is this so?
In the June '10 distro of MS Dx11 there are no D3DCompiler_47 cab files present, only D3DCompiler_43 cab files (these date to Dx11.......the D3DCompiler_42 cab files date to Dx9 as does the D3DX9 cab files) & this distro is the latest version of Dx11 that I could find on MS web site.
From reading up on all the issues concerning the use of MS data link library files (.dll) it is known that these files can cause issues within an app if these files aren't identical\compatible....even an updated version of the same .dll file can cause compatibility issues of all sorts of weird stuff. It is the use of these Windows .dll files that give Windows the edge it enjoys over other OS's operating software from a compatibility standpoint but also gives Windows the problems & fits often encountered due to the very nature of these files so the importance of these files being fully compatible w\ the OS Dx API structure..............
Could this be a hidden link to this issue of screen pauses\freezes occurring due to the OS having to navigate\associate between the 2 versions of D3DCompiler_43.dll (native within OS Dx11 API vs D3DCompiler_47.dll as supplied thru AHIII game client, causing the graphics draw calls to be interrupted\delayed long enough for the OS to initiate a TDR event on a random basis)?
Or am I missing something here...................?
Something to ponder\work thru.........................
.