• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Dual Core Optimizations

DasFox

Diamond Member
I read this:

The dual-core optimisations now inherent in NVIDIA's own GPU drivers interfere with optimisations available in these game titles, to the extend of dropping performance when SMP is enabled rather than boosting it as you would expect.

Thus, this means needing to disable NVIDIA's own optimisations to get a reasonable idea of what using a dual-core CPU means for these games. Thankfully, this can be done for both OpenGL and DirectX courtesy of a couple of registry entries. If you want to try this out yourself, here's the registry key you need to find (Where the random numbers is the GUID of your video card, it'll be different for everybody):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{Random numbers}\0000

Once you've found this key, you need to create the following entries as DWORD values:

OGL_ThreadControl with a value of 0 to disable dual-core optimisations in OpenGL.

WTD_EXECMODEL with a value of 0 to disable dual-core optimisations in Direct3D.

The games being mentioned are Call of Duty2 and Quake4, but what about others?
 
i've gained roughyl a 10% boost in minimum fps with the threaded drivers. Call of Duty SMP is just busted. I believew its the game not the drivers.
 
It's probably because the level of multithreading is very coarse grained. It's probably doing something like splitting the workload exactly in half and expecting both cores to be available. Then one of the threads is being run on a core where the the video driver is using up ~60%(guess) of the processor time so that thread is slowing everything down overall.

Or, it could be that a lot of synchronization is needed between the threads and the nvidia driver is introducing delays into one thread and that slows everything down overall.

Either way, it's due to poor design by the game makers.
 
Call of Duty 2, I don't know.... seems like there was an incompetant engy somewhere there. When asked about the dual core optimizations, said, 'sure they're there'. So then patch 1.01 comes out and well, the guy lied! :-D
 
Hey here is some actually smp tests online. Looks like you were right about the nvidia drivers for those games.

single thread game + mulithread drivers = ++

multithread game + multithread driver = - -

http://www.amdzone.com/modules.php?op=m...ons&file=index&req=printpage&artid=216

We discussed our results with AMD and Nvidia and they began investigating as we continued our tests. A couple of days went by and our results remained the same. Then Nvidia got back to us about discovering that there was indeed a problem with their 80 series drivers from 81.84 and beyond. They believe their dual core optimizations in those drivers could be interfering with the new dual core support in Quake 4. They provided us with registry keys to add to disable dual core support in their drivers. Armed with this new information we benchmarked again. We tested again with the same hardware setup as the previous tests, and this time all testing was done manually using r_usesmp 0 and 1 to change the SMP mode on and off. Update: We have now been cleared by Nvidia to release the registry updates necessary to disable dual core support in the 80 series driver. Remember you edit your registry at your own risk.

1. Go into Regedit and determine the current primary display card by looking in HKey_Local_Machine\Hardware/DeviceMap\Video and note the GUID (global unique indentifier assigned by Windows) for the entry "\device\video0" which is the long string at the end of the entry in brackets { }.

2. Edit HKey_Local_Machine\SYSTEM\CurrentControlSet\Control\Video\{guid}\0000, where {guid} is the number derived from the above step.

3. Open the "0000" directory and enter a new key called OGL_ThreadControl and give it a value of 2. This will disable multithreading in the driver for all OGL apps.

4. In the same "0000" directory, to disable driver multithreading for all D3D apps, you can enter WTD_EXECMODEL and give a value of 0.
 
Ok so in a nuttshell forget doing this? Guess we just need to wait for more updates, game patches, etc....

ALOHA
 
Back
Top