Enabling 3d Causes 70-85% FPS drop in certain games?
  3 / 6    
[quote="bo3b"][quote="J0hnnieW4lker"]I still don't think it is hardware. There is no way AC2 wouldn't run 60fps. I ran Rise of Tomb Raider with everything max in native 3D SBS 60fps and on 3D Vision on 720p I had fps drops. The hardware cannot be good for some games and bad for others, sorry there is no way... When I got the right driver for the Batman games they ran all max on my GTX780. With recent drivers the Batman games were just terrible.[/quote] Of course it's hardware. How else would other people be able to get better performance than you are seeing? If the game or driver were that poorly tuned, then [i]no one[/i] would be able to reach better speed, but it's just you. You are confused about how to measure CPU usage. One primary CPU characteristic that I keep emphasizing is single-thread performance. Especially with older games like AC2, single-thread performance is paramount. Your 860 is a good chip (that was my last build), but it could easily be the bottleneck here. It's also easier for the CPU to be the bottleneck in 3D, as compared to 2D, because there are twice the driver calls to be sent to the GPU. If your system is right on the edge in 2D, 3D can push it over into a full bottleneck. However, as we found with terantimel's problem, it could be a bug that your specific hardware sees, but you are definitely coming to the wrong conclusion that the 3D driver is at fault. Windows 7 is unlikely to make any difference for this problem, unless it's a driver bug of some form for your setup. Edit: You've ruled out a bad OS install from the clean install, and I assume you are using the latest driver 372.90 that multiple people reported fixing their problem in Batman games. Unless you still have the 780 available for testing, you will be stuck with new drivers, and presently only 372.90 is worth using. Could be a bug relative to your system, but the most likely answer is the CPU bottleneck, unless you are absolutely certain you got better than 60 with your 780. It would be worth disabling hyper-threading, and trying to overclock your CPU to see if it helps.[/quote] How can this be CPU or motherboard when I get 180fps on Mafia 2 in 2D and 30fps in 3D? The only other option here is try Windows 7
bo3b said:
J0hnnieW4lker said:I still don't think it is hardware. There is no way AC2 wouldn't run 60fps.
I ran Rise of Tomb Raider with everything max in native 3D SBS 60fps and on 3D Vision on 720p I had fps drops.
The hardware cannot be good for some games and bad for others, sorry there is no way...
When I got the right driver for the Batman games they ran all max on my GTX780. With recent drivers the Batman games were just terrible.

Of course it's hardware. How else would other people be able to get better performance than you are seeing?

If the game or driver were that poorly tuned, then no one would be able to reach better speed, but it's just you.

You are confused about how to measure CPU usage. One primary CPU characteristic that I keep emphasizing is single-thread performance. Especially with older games like AC2, single-thread performance is paramount. Your 860 is a good chip (that was my last build), but it could easily be the bottleneck here.

It's also easier for the CPU to be the bottleneck in 3D, as compared to 2D, because there are twice the driver calls to be sent to the GPU. If your system is right on the edge in 2D, 3D can push it over into a full bottleneck.


However, as we found with terantimel's problem, it could be a bug that your specific hardware sees, but you are definitely coming to the wrong conclusion that the 3D driver is at fault.

Windows 7 is unlikely to make any difference for this problem, unless it's a driver bug of some form for your setup.

Edit: You've ruled out a bad OS install from the clean install, and I assume you are using the latest driver 372.90 that multiple people reported fixing their problem in Batman games. Unless you still have the 780 available for testing, you will be stuck with new drivers, and presently only 372.90 is worth using. Could be a bug relative to your system, but the most likely answer is the CPU bottleneck, unless you are absolutely certain you got better than 60 with your 780.

It would be worth disabling hyper-threading, and trying to overclock your CPU to see if it helps.


How can this be CPU or motherboard when I get 180fps on Mafia 2 in 2D and 30fps in 3D? The only other option here is try Windows 7

EVGA GTX 1070 FTW
Motherboard MSI Z370 SLI PLUS
Processor i5-8600K @ 4.2 | Cooler SilverStone AR02
Corsair Vengeance 8GB 3000Mhz | Windows 10 Pro
SSD 240gb Kingston UV400 | 2x HDs 1TB RAID0 | 2x HD 2TB RAID1
TV LG Cinema 3D 49lb6200 | ACER EDID override | Oculus Rift CV1
Steam: http://steamcommunity.com/id/J0hnnieW4lker
Screenshots: http://phereo.com/583b3a2f8884282d5d000007

#31
Posted 10/04/2016 11:56 PM   
I am going to say this yet again. In a more clearer way (as it seems I can't get the message across). 3D Vision was designed to RUN on Fermi GPUs. Then we got Kepler. Then we got Maxwell. All of them work 1001% perfect to this day. Then we get Pascal. Pascal is a new architecture by design. (Sure Kepler is different than Fermi and so is Maxwell, but they do have similarities to them - Like all of them being build around 40-22nm and many others). Now, Pascal comes and is a distinct hardware design. For 3D Vision to work it has to "fail-back to a driver mode" (probably) used in all the previous architectures (more or less). Sure, you can say the problem is HERE. Is the easiest WAY to do it. But, what If I tell you that between the CPU and GPU there are OTHER "lanes" (like the PCI-E one) and other Chips (like the north-bridge) and so on. Sure, in 2D everything is OK, as the transmission magistral/bus is not SATURATED (between the CPU -GPU), but in 3D (since you need 2x the BANDWIDTH) the BUS can't FORWARD that amount of data. As a result you get THIS! A low CPU + GPU usage! It could be the BUS between the CPU and GPU or RAM and CPU or the north-bridge is slow or whatever... hard to tell... But, unless you get the HARDWARE FROM THE SAME "PERIOD" (CPU + RAM + MOBO + GPU + PSU) is hard to debug. Sure, everything is backwards COMPATIBLE TO A DEGREE!!!! IS your PC not working? NOPE! Is your PC on fire? NOPE. So, it is backwards compatible. Does it give OPTIMUM computing power? well... It does and it doesn't... Again, it can be software or hardware! BUT!!! The fact that every other Fermi/Kepler/Maxwell architecture TO DATE works perfectly fine (including exotic resolutions) points to the fact that the software IS WORKING fine IF THE HARDWARE CAN COPE WITH IT! Like I said before, it looks like a hardware issue/incompatibility, etc... The only way to ensure that everything is SMOOTH is to USE HARDWARE FROM THE SAME GENERATION. (And now we see why a lot of people prefer consoles over PCs). Measuring just the CPU/GPU/RAM load will tell you nothing... If you really are into debugging, get an oscilloscope and a PROPER MOBO (where you have access to all the probes). Then you can measure stuff no software can tell;) (Like the load on the PCI-E lane, or how busy is the bus between the CPU + RAM and so on). There are a lot of complicated things in modern PCs and most manufacturers design hardware to COPE with graphical applications from the 2D point of view (meaning things run once - not twice as in 3D or Surround) and they "limit" the bus loads based on these "requirements" :) My recommendation, if you can, ask a friend who has a new built PC to test all of this. If he finds the exact same thing then is a software issue for sure, but so far everyone having issues reported to have a mix of Pascal GPUs and older hardware for CPU + MOBO. I personally tested all this things on up to 5 distinct PCs (all built with components from the same generation) and I couldn't replicate this issue ONCE! Sure, CPU/GPU bottlenecks are there (if you manage to saturate them), but what is reported here is the opposite... Just CPU/GPU sitting idle and giving below mediocre performance...
I am going to say this yet again. In a more clearer way (as it seems I can't get the message across).

3D Vision was designed to RUN on Fermi GPUs.
Then we got Kepler.
Then we got Maxwell.
All of them work 1001% perfect to this day.

Then we get Pascal. Pascal is a new architecture by design. (Sure Kepler is different than Fermi and so is Maxwell, but they do have similarities to them - Like all of them being build around 40-22nm and many others).
Now, Pascal comes and is a distinct hardware design. For 3D Vision to work it has to "fail-back to a driver mode" (probably) used in all the previous architectures (more or less). Sure, you can say the problem is HERE. Is the easiest WAY to do it.

But, what If I tell you that between the CPU and GPU there are OTHER "lanes" (like the PCI-E one) and other Chips (like the north-bridge) and so on.

Sure, in 2D everything is OK, as the transmission magistral/bus is not SATURATED (between the CPU -GPU), but in 3D (since you need 2x the BANDWIDTH) the BUS can't FORWARD that amount of data. As a result you get THIS!
A low CPU + GPU usage! It could be the BUS between the CPU and GPU or RAM and CPU or the north-bridge is slow or whatever... hard to tell...

But, unless you get the HARDWARE FROM THE SAME "PERIOD" (CPU + RAM + MOBO + GPU + PSU) is hard to debug.
Sure, everything is backwards COMPATIBLE TO A DEGREE!!!! IS your PC not working? NOPE! Is your PC on fire? NOPE. So, it is backwards compatible. Does it give OPTIMUM computing power? well... It does and it doesn't...
Again, it can be software or hardware! BUT!!!
The fact that every other Fermi/Kepler/Maxwell architecture TO DATE works perfectly fine (including exotic resolutions) points to the fact that the software IS WORKING fine IF THE HARDWARE CAN COPE WITH IT!

Like I said before, it looks like a hardware issue/incompatibility, etc...
The only way to ensure that everything is SMOOTH is to USE HARDWARE FROM THE SAME GENERATION. (And now we see why a lot of people prefer consoles over PCs).

Measuring just the CPU/GPU/RAM load will tell you nothing... If you really are into debugging, get an oscilloscope and a PROPER MOBO (where you have access to all the probes). Then you can measure stuff no software can tell;) (Like the load on the PCI-E lane, or how busy is the bus between the CPU + RAM and so on). There are a lot of complicated things in modern PCs and most manufacturers design hardware to COPE with graphical applications from the 2D point of view (meaning things run once - not twice as in 3D or Surround) and they "limit" the bus loads based on these "requirements" :)

My recommendation, if you can, ask a friend who has a new built PC to test all of this. If he finds the exact same thing then is a software issue for sure, but so far everyone having issues reported to have a mix of Pascal GPUs and older hardware for CPU + MOBO.
I personally tested all this things on up to 5 distinct PCs (all built with components from the same generation) and I couldn't replicate this issue ONCE!

Sure, CPU/GPU bottlenecks are there (if you manage to saturate them), but what is reported here is the opposite... Just CPU/GPU sitting idle and giving below mediocre performance...

1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc


My website with my fixes and OpenGL to 3D Vision wrapper:
http://3dsurroundgaming.com

(If you like some of the stuff that I've done and want to donate something, you can do it with PayPal at tavyhome@gmail.com)

#32
Posted 10/05/2016 12:18 AM   
[quote="J0hnnieW4lker"]How can this be CPU or motherboard when I get 180fps on Mafia 2 in 2D and 30fps in 3D? The only other option here is try Windows 7[/quote] As Helifax points out, it can be any number of other possible bottlenecks. Especially when you mix generations of hardware that have not been well tested together. The goal of the systems in general is to be balanced, not over emphasize any given characteristic. That helps prevent bottlenecks. As a general experience, I have seen PCI and RAM speed and CPU cache bugs/bottlenecks in the past, but they are fairly rare. In your case you are wildly overspecced with GPU with comparison to the rest of your system. That will help when playing at 1440p or something, but not necessarily with 3D. The Mafia 2 example is exactly what we see with GTA5. In the GTA5 case, it apparently has to do with how Rockstar implemented the 3D, and causes the game to use only 3 cores. That's not true for other games. Could be something similar though, in that 3D causes the game to have too much thread contention. No one gets good performance in 3D in GTA5, I do not know anything about Mafia 2. The interesting test case is AC2. It's an old game that should definitely run better than you are seeing. However, you give us zero information to help solve the problem. You don't include your system spec in your signature, you haven't told us what driver you are using, you haven't even said what resolution you are trying. It's all fine if you just want to believe the 3D driver sucks, but if you want to actually the solve problem, you need to do more experiments. Could simply be a bug in the driver. Especially because you are locked into current drivers, you don't have many options. We already saw at least one serious bug with the 10xx series drivers that caused hard-stutter for terintamel. In this case, it may not be that the GPU is a mismatch for older hardware like Helifax suspects, it could simply be that it's new hardware that is not fully debugged yet. Everyone seemed to have problems with 10xx series hardware, even on up to date mobo and CPUs. That suggests driver immaturity, but it's very hard to say with any assurance.
J0hnnieW4lker said:How can this be CPU or motherboard when I get 180fps on Mafia 2 in 2D and 30fps in 3D? The only other option here is try Windows 7

As Helifax points out, it can be any number of other possible bottlenecks. Especially when you mix generations of hardware that have not been well tested together.

The goal of the systems in general is to be balanced, not over emphasize any given characteristic. That helps prevent bottlenecks. As a general experience, I have seen PCI and RAM speed and CPU cache bugs/bottlenecks in the past, but they are fairly rare.

In your case you are wildly overspecced with GPU with comparison to the rest of your system. That will help when playing at 1440p or something, but not necessarily with 3D.

The Mafia 2 example is exactly what we see with GTA5. In the GTA5 case, it apparently has to do with how Rockstar implemented the 3D, and causes the game to use only 3 cores. That's not true for other games. Could be something similar though, in that 3D causes the game to have too much thread contention. No one gets good performance in 3D in GTA5, I do not know anything about Mafia 2.


The interesting test case is AC2. It's an old game that should definitely run better than you are seeing.

However, you give us zero information to help solve the problem. You don't include your system spec in your signature, you haven't told us what driver you are using, you haven't even said what resolution you are trying.

It's all fine if you just want to believe the 3D driver sucks, but if you want to actually the solve problem, you need to do more experiments.


Could simply be a bug in the driver. Especially because you are locked into current drivers, you don't have many options. We already saw at least one serious bug with the 10xx series drivers that caused hard-stutter for terintamel.

In this case, it may not be that the GPU is a mismatch for older hardware like Helifax suspects, it could simply be that it's new hardware that is not fully debugged yet. Everyone seemed to have problems with 10xx series hardware, even on up to date mobo and CPUs. That suggests driver immaturity, but it's very hard to say with any assurance.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

#33
Posted 10/05/2016 12:41 AM   
I have a pascal titanx, and it runs a lot better than my 980 TI did in 3d Vision. Performance increases are about the same as 2D benchmarks in GPU limited scenarios. I don't think blaming pascal without sufficient evidence is good either. Since my pascal titan x works a lot better than my 980 ti. Mixing generations I can't comment on.
I have a pascal titanx, and it runs a lot better than my 980 TI did in 3d Vision. Performance increases are about the same as 2D benchmarks in GPU limited scenarios. I don't think blaming pascal without sufficient evidence is good either. Since my pascal titan x works a lot better than my 980 ti.

Mixing generations I can't comment on.

I'm ishiki, forum screwed up my name.

7700k @4.7 GHZ, 16GBDDR4@3466MHZ, 2080 Ti

#34
Posted 10/05/2016 12:59 AM   
[quote="bo3b"][quote="J0hnnieW4lker"]How can this be CPU or motherboard when I get 180fps on Mafia 2 in 2D and 30fps in 3D? The only other option here is try Windows 7[/quote] As Helifax points out, it can be any number of other possible bottlenecks. Especially when you mix generations of hardware that have not been well tested together. The goal of the systems in general is to be balanced, not over emphasize any given characteristic. That helps prevent bottlenecks. As a general experience, I have seen PCI and RAM speed and CPU cache bugs/bottlenecks in the past, but they are fairly rare. In your case you are wildly overspecced with GPU with comparison to the rest of your system. That will help when playing at 1440p or something, but not necessarily with 3D. The Mafia 2 example is exactly what we see with GTA5. In the GTA5 case, it apparently has to do with how Rockstar implemented the 3D, and causes the game to use only 3 cores. That's not true for other games. Could be something similar though, in that 3D causes the game to have too much thread contention. No one gets good performance in 3D in GTA5, I do not know anything about Mafia 2. The interesting test case is AC2. It's an old game that should definitely run better than you are seeing. However, you give us zero information to help solve the problem. You don't include your system spec in your signature, you haven't told us what driver you are using, you haven't even said what resolution you are trying. It's all fine if you just want to believe the 3D driver sucks, but if you want to actually the solve problem, you need to do more experiments. Could simply be a bug in the driver. Especially because you are locked into current drivers, you don't have many options. We already saw at least one serious bug with the 10xx series drivers that caused hard-stutter for terintamel. In this case, it may not be that the GPU is a mismatch for older hardware like Helifax suspects, it could simply be that it's new hardware that is not fully debugged yet. Everyone seemed to have problems with 10xx series hardware, even on up to date mobo and CPUs. That suggests driver immaturity, but it's very hard to say with any assurance.[/quote] Updated my signature :) EVGA GTX 1070 FTW Motherboard Biostar T5XE CFX-SLI Processor i7 860 @ 3.5GHz 16GB Memory 2x HD Windows 8.1 and Windows 10 I've tested on both Windows 8.1 and 10 Driver 372.90 @ 1080p with EDID Override on a LG 3D TV Also tried 3D TV Play @ 720p, same results When I get a chance I will test on Windows 7
bo3b said:
J0hnnieW4lker said:How can this be CPU or motherboard when I get 180fps on Mafia 2 in 2D and 30fps in 3D? The only other option here is try Windows 7

As Helifax points out, it can be any number of other possible bottlenecks. Especially when you mix generations of hardware that have not been well tested together.

The goal of the systems in general is to be balanced, not over emphasize any given characteristic. That helps prevent bottlenecks. As a general experience, I have seen PCI and RAM speed and CPU cache bugs/bottlenecks in the past, but they are fairly rare.

In your case you are wildly overspecced with GPU with comparison to the rest of your system. That will help when playing at 1440p or something, but not necessarily with 3D.

The Mafia 2 example is exactly what we see with GTA5. In the GTA5 case, it apparently has to do with how Rockstar implemented the 3D, and causes the game to use only 3 cores. That's not true for other games. Could be something similar though, in that 3D causes the game to have too much thread contention. No one gets good performance in 3D in GTA5, I do not know anything about Mafia 2.


The interesting test case is AC2. It's an old game that should definitely run better than you are seeing.

However, you give us zero information to help solve the problem. You don't include your system spec in your signature, you haven't told us what driver you are using, you haven't even said what resolution you are trying.

It's all fine if you just want to believe the 3D driver sucks, but if you want to actually the solve problem, you need to do more experiments.


Could simply be a bug in the driver. Especially because you are locked into current drivers, you don't have many options. We already saw at least one serious bug with the 10xx series drivers that caused hard-stutter for terintamel.

In this case, it may not be that the GPU is a mismatch for older hardware like Helifax suspects, it could simply be that it's new hardware that is not fully debugged yet. Everyone seemed to have problems with 10xx series hardware, even on up to date mobo and CPUs. That suggests driver immaturity, but it's very hard to say with any assurance.


Updated my signature :)

EVGA GTX 1070 FTW
Motherboard Biostar T5XE CFX-SLI
Processor i7 860 @ 3.5GHz
16GB Memory
2x HD Windows 8.1 and Windows 10

I've tested on both Windows 8.1 and 10
Driver 372.90 @ 1080p with EDID Override on a LG 3D TV
Also tried 3D TV Play @ 720p, same results

When I get a chance I will test on Windows 7

EVGA GTX 1070 FTW
Motherboard MSI Z370 SLI PLUS
Processor i5-8600K @ 4.2 | Cooler SilverStone AR02
Corsair Vengeance 8GB 3000Mhz | Windows 10 Pro
SSD 240gb Kingston UV400 | 2x HDs 1TB RAID0 | 2x HD 2TB RAID1
TV LG Cinema 3D 49lb6200 | ACER EDID override | Oculus Rift CV1
Steam: http://steamcommunity.com/id/J0hnnieW4lker
Screenshots: http://phereo.com/583b3a2f8884282d5d000007

#35
Posted 10/05/2016 01:05 AM   
@bo3b Would you kindly elaborate on the following? "It's also easier for the CPU to be the bottleneck in 3D, as compared to 2D, because there are twice the driver calls to be sent to the GPU. If your system is right on the edge in 2D, 3D can push it over into a full bottleneck."? Is this a documented fact or educated speculation? I ask because I have been in communication with nVidia devs via tier 2 support, and they say there should not be any CPU overhead with 3D Vision. They also agree that only GPU load should double. I am awaiting further clarifications as I believe these were not well researched comments. Interestingly, they seem to be taking the issue seriously... for now. If you mean that 120fps 2d = same number of calls as 60fps in 3D (as measured by FRAPS or MSI Afterburnr OSD), then of course you are probably correct, as 60fps in 3D is actually 120FPS, taking into account frames from both eyes, not just one. I wouldn't know if generating the same frame from a different perspective would have the penalty of around doubling the driver calls though. [For all users who are reading this, I should make clear here that FRAPS, MSI Afterburner OSD etc, report 3D FPS as perceived by the eye, but one has to remember that each perceived frame is actually 2 frames generated by the computer - one from each eye. When FRAPS etc say 60FPS, it actually means the computer is generating 120FPS!] However, we are witnessing a drop in CPU performance when 3D is enabled. Doubling the driver calls should *not* decrease CPU usage to the best of my knowledge. Perhaps it's a problem with context switching? We do jump from one perspective to another after all - something the game engines are not designed for. https://en.wikipedia.org/wiki/Context_switch ======= @ All Increasing the CPU clock alone substantially increases the performance. IPC (single core performance) is King, as bo3b points out. This is unfortunate, as IPC improvements are only ~10% per 1.5 years nowadays. My fear is that even all you folk with 6700k skylakes who think they don't have a problem, will soon have this issue. CPU power is in stagnation. Devs develop for 2D. Because of this problem with the CPU, whatever the cause, even if it is by design (double driver/draw calls etc); we will all experience it at some point. It's not a matter of if, it's a matter of when. helifax proved that when he did tests when he underclocked his CPU and ran up against the exact same issue on his otherwise superb system specs. Regarding the 3-core limit: I really do take back my old 3 core limit conclusion in GTA5. New facts are discovered which allow us to better adapt theories to fit the facts. That's Science! As of the last few weeks, I no longer believe cores are being limited. What I believe is happening is, as I have explained a few times in the recent weeks, the primary game thread is being bogged down which prevents it efficiently offloading work to other threads. This means whereas in 2D, the main game thread would be able to offload enough work to occupy 6 cores, with the new inefficiency, it is only able to offload enough work which can be accomplished with only 3 cores. I don't believe there is a 3 core hard limit - the scaling due to CPU clock is, I believe because the main bogged down game thread is running on a core which is being clocked higher or lower, thus the apparent scaling of the number of cores being used remaining constant. I also believe that all games are affected to various degrees and that GTA5 is not an exception - the more threads the game is able to utilise, the worse the problem manifests itself. GTA5 is just a great example because it uses lots of threads well. COD Adance Warfare is another game which has similarly horrible 3D Vision performance. I might be wrong of course, let's see what the clever folk at nVidia have to say. ========= @J0hnnieW4lker Processor i7 860 That is abysmal mate. I feel your pain. Kaby Lake is about to be released with ~15% IPC improvement over SkyLake. It would be 70% increase in performance for you and ~55% for me, per core. Our problems will be alleviated to an extent for a couple of years, until newer gen consoles come out with hugely powerful CPUs while our CPUs will not have increased in power. At that point, when devs develop every single game for those new console CPUs, unless we somehow get to the bottom of this problem, we are all screwed.
@bo3b
Would you kindly elaborate on the following?

"It's also easier for the CPU to be the bottleneck in 3D, as compared to 2D, because there are twice the driver calls to be sent to the GPU. If your system is right on the edge in 2D, 3D can push it over into a full bottleneck."?

Is this a documented fact or educated speculation?

I ask because I have been in communication with nVidia devs via tier 2 support, and they say there should not be any CPU overhead with 3D Vision. They also agree that only GPU load should double. I am awaiting further clarifications as I believe these were not well researched comments. Interestingly, they seem to be taking the issue seriously... for now.

If you mean that 120fps 2d = same number of calls as 60fps in 3D (as measured by FRAPS or MSI Afterburnr OSD), then of course you are probably correct, as 60fps in 3D is actually 120FPS, taking into account frames from both eyes, not just one. I wouldn't know if generating the same frame from a different perspective would have the penalty of around doubling the driver calls though.

[For all users who are reading this, I should make clear here that FRAPS, MSI Afterburner OSD etc, report 3D FPS as perceived by the eye, but one has to remember that each perceived frame is actually 2 frames generated by the computer - one from each eye. When FRAPS etc say 60FPS, it actually means the computer is generating 120FPS!]

However, we are witnessing a drop in CPU performance when 3D is enabled. Doubling the driver calls should *not* decrease CPU usage to the best of my knowledge.

Perhaps it's a problem with context switching? We do jump from one perspective to another after all - something the game engines are not designed for.

https://en.wikipedia.org/wiki/Context_switch

=======

@ All
Increasing the CPU clock alone substantially increases the performance. IPC (single core performance) is King, as bo3b points out. This is unfortunate, as IPC improvements are only ~10% per 1.5 years nowadays.

My fear is that even all you folk with 6700k skylakes who think they don't have a problem, will soon have this issue. CPU power is in stagnation. Devs develop for 2D. Because of this problem with the CPU, whatever the cause, even if it is by design (double driver/draw calls etc); we will all experience it at some point. It's not a matter of if, it's a matter of when. helifax proved that when he did tests when he underclocked his CPU and ran up against the exact same issue on his otherwise superb system specs.

Regarding the 3-core limit:

I really do take back my old 3 core limit conclusion in GTA5. New facts are discovered which allow us to better adapt theories to fit the facts. That's Science!
As of the last few weeks, I no longer believe cores are being limited. What I believe is happening is, as I have explained a few times in the recent weeks, the primary game thread is being bogged down which prevents it efficiently offloading work to other threads.
This means whereas in 2D, the main game thread would be able to offload enough work to occupy 6 cores, with the new inefficiency, it is only able to offload enough work which can be accomplished with only 3 cores. I don't believe there is a 3 core hard limit - the scaling due to CPU clock is, I believe because the main bogged down game thread is running on a core which is being clocked higher or lower, thus the apparent scaling of the number of cores being used remaining constant.

I also believe that all games are affected to various degrees and that GTA5 is not an exception - the more threads the game is able to utilise, the worse the problem manifests itself. GTA5 is just a great example because it uses lots of threads well. COD Adance Warfare is another game which has similarly horrible 3D Vision performance.

I might be wrong of course, let's see what the clever folk at nVidia have to say.

=========

@J0hnnieW4lker
Processor i7 860

That is abysmal mate. I feel your pain. Kaby Lake is about to be released with ~15% IPC improvement over SkyLake. It would be 70% increase in performance for you and ~55% for me, per core. Our problems will be alleviated to an extent for a couple of years, until newer gen consoles come out with hugely powerful CPUs while our CPUs will not have increased in power. At that point, when devs develop every single game for those new console CPUs, unless we somehow get to the bottom of this problem, we are all screwed.

Windows 10 64-bit, Intel 7700K @ 5.1GHz, 16GB 3600MHz CL15 DDR4 RAM, 2x GTX 1080 SLI, Asus Maximus IX Hero, Sound Blaster ZxR, PCIe Quad SSD, Oculus Rift CV1, DLP Link PGD-150 glasses, ViewSonic PJD6531w 3D DLP Projector @ 1280x800 120Hz native / 2560x1600 120Hz DSR 3D Gaming.

#36
Posted 10/05/2016 01:19 AM   
Who would imagine 3D Vision would be that much CPU dependent. This just makes me hate even more 3D Vision, and sort of love at the same time :D It is a dependent sort of relationship, I would dump it without thinking if there was another SBS kind of option which doesn't ridiculously use CPU and the hell of who knows what to run in 3D. Hell... 3D is just two images, why go through that much crap to display two images. In games with SBS option there is just none of this crap. I wonder if a overclock would make any difference. Actually, you know what I think I will forget this and just enjoy the games over 30 fps for now which is still playable and hope for more games with SBS, perhaps VR will kind of facilitate this in the future. When the time comes to use VR I will think about an upgrade of MOBO/CPU.
Who would imagine 3D Vision would be that much CPU dependent. This just makes me hate even more 3D Vision, and sort of love at the same time :D
It is a dependent sort of relationship, I would dump it without thinking if there was another SBS kind of option which doesn't ridiculously use CPU and the hell of who knows what to run in 3D. Hell... 3D is just two images, why go through that much crap to display two images. In games with SBS option there is just none of this crap.

I wonder if a overclock would make any difference. Actually, you know what I think I will forget this and just enjoy the games over 30 fps for now which is still playable and hope for more games with SBS, perhaps VR will kind of facilitate this in the future. When the time comes to use VR I will think about an upgrade of MOBO/CPU.

EVGA GTX 1070 FTW
Motherboard MSI Z370 SLI PLUS
Processor i5-8600K @ 4.2 | Cooler SilverStone AR02
Corsair Vengeance 8GB 3000Mhz | Windows 10 Pro
SSD 240gb Kingston UV400 | 2x HDs 1TB RAID0 | 2x HD 2TB RAID1
TV LG Cinema 3D 49lb6200 | ACER EDID override | Oculus Rift CV1
Steam: http://steamcommunity.com/id/J0hnnieW4lker
Screenshots: http://phereo.com/583b3a2f8884282d5d000007

#37
Posted 10/05/2016 04:07 AM   
[quote="RAGEdemon"]@bo3b Would you kindly elaborate on the following? "It's also easier for the CPU to be the bottleneck in 3D, as compared to 2D, because there are twice the driver calls to be sent to the GPU. If your system is right on the edge in 2D, 3D can push it over into a full bottleneck."? Is this a documented fact or educated speculation? I ask because I have been in communication with nVidia devs via tier 2 support, and they say there should not be any CPU overhead with 3D Vision. They also agree that only GPU load should double. I am awaiting further clarifications as I believe these were not well researched comments. Interestingly, they seem to be taking the issue seriously... for now.[/quote] Yes, the actual CPU usage is going to be nominal, assuming there aren't bugs. It's like 3Dmigoto, where we use some 0.7% of the CPU for our work of injecting new shaders, watching keyboard commands, changing depth/convergence. Similarly for the 3D driver, it's not got a ton of extra work on it's plate, for the CPU. It doubles the work for the GPU of course. But... the part I'm talking about is the so-called DrawCalls bottleneck. There are only so many Draw calls that can be sent to the GPU per frame, and the DX11 API is not well suited to the task. For a complex frame you can get into a situation where the CPU cannot feed the GPU fast enough, these Draw calls. The Draw calls cannot be parallelized in any meaningful way with DX11, it's single threaded. I was previously skeptical that this is a real thing, but it surely can be the bottleneck in some scenarios. Maybe even likely with 3D. Consider a game that is actually well tuned for the hardware, where they are trying to optimize the image in 2D, and spent effort to get up to close to the max number of Draw calls. If we now double those calls by having 3D in place, we could easily push a game into being bottlenecked by these calls. It would look like this- CPU and GPU both working at 20%. http://stackoverflow.com/questions/4853856/why-are-draw-calls-expensive It's still a game design flaw, because a single Draw call can include more vertices or objects, the array can be artificially big. But for a given game design, this might be the problem. It would not be fixable by driver, or software, outside of Vulkan/DX12, which is one motivation for those APIs. The only improvement possible in this scenario is a faster single-thread performance. Higher clock or higher IPC. @J0hnnieW4lker: Thanks for adding your signature and details. Outside of the ever possible driver bugs with the new Pascal, the most likely answer is your CPU is hitting the DrawCalls bottleneck. We previously were able to buy hardware that was 2 to 3x better than console hardware to resolve these sorts of problems, but as RAGEdemon notes, with the end of Moore's Law, we are now stuck.
RAGEdemon said:@bo3b
Would you kindly elaborate on the following?

"It's also easier for the CPU to be the bottleneck in 3D, as compared to 2D, because there are twice the driver calls to be sent to the GPU. If your system is right on the edge in 2D, 3D can push it over into a full bottleneck."?

Is this a documented fact or educated speculation?

I ask because I have been in communication with nVidia devs via tier 2 support, and they say there should not be any CPU overhead with 3D Vision. They also agree that only GPU load should double. I am awaiting further clarifications as I believe these were not well researched comments. Interestingly, they seem to be taking the issue seriously... for now.

Yes, the actual CPU usage is going to be nominal, assuming there aren't bugs. It's like 3Dmigoto, where we use some 0.7% of the CPU for our work of injecting new shaders, watching keyboard commands, changing depth/convergence.

Similarly for the 3D driver, it's not got a ton of extra work on it's plate, for the CPU. It doubles the work for the GPU of course.

But... the part I'm talking about is the so-called DrawCalls bottleneck. There are only so many Draw calls that can be sent to the GPU per frame, and the DX11 API is not well suited to the task. For a complex frame you can get into a situation where the CPU cannot feed the GPU fast enough, these Draw calls.

The Draw calls cannot be parallelized in any meaningful way with DX11, it's single threaded. I was previously skeptical that this is a real thing, but it surely can be the bottleneck in some scenarios. Maybe even likely with 3D.

Consider a game that is actually well tuned for the hardware, where they are trying to optimize the image in 2D, and spent effort to get up to close to the max number of Draw calls. If we now double those calls by having 3D in place, we could easily push a game into being bottlenecked by these calls.

It would look like this- CPU and GPU both working at 20%.

http://stackoverflow.com/questions/4853856/why-are-draw-calls-expensive


It's still a game design flaw, because a single Draw call can include more vertices or objects, the array can be artificially big. But for a given game design, this might be the problem.

It would not be fixable by driver, or software, outside of Vulkan/DX12, which is one motivation for those APIs. The only improvement possible in this scenario is a faster single-thread performance. Higher clock or higher IPC.


@J0hnnieW4lker: Thanks for adding your signature and details. Outside of the ever possible driver bugs with the new Pascal, the most likely answer is your CPU is hitting the DrawCalls bottleneck.

We previously were able to buy hardware that was 2 to 3x better than console hardware to resolve these sorts of problems, but as RAGEdemon notes, with the end of Moore's Law, we are now stuck.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

#38
Posted 10/05/2016 04:41 AM   
Great! We have a plausible theory! Now to test it... If I may pose a question (or two): 1. If we have a game running at 120fps in 2d. In 3D it should run at 60fps, these 2 scenarios should use the same number of draw calls, no? We have a situation where 3D fps is actually around 40fps. 2. Would the draw call issue also affect CM mode? CM mode is not affected by the problem at all! In fact, if 2D fps is 60fps, 3D CM fps is also 60fps, but actually the real FPS is 120 as there are 2 frames being generated for every reported frame by FRAPS etc. You would think draw calls are doubled here, but the CPU limit does not manifest ^.^ Onto draw calls theory game testing... Presumably, DX12 games designed to take advantage of the draw calls issue won't suffer from this problem, but Afaik, all DX12 games run horribly in 3D Vision? I have Win10 on my 3D Vision laptop. It has a GTX 770M. Any DX12 games which have draw calls properly implemented (not wrapped!) that someone can recommend, which do not run horribly?
Great! We have a plausible theory!

Now to test it...

If I may pose a question (or two):
1. If we have a game running at 120fps in 2d. In 3D it should run at 60fps, these 2 scenarios should use the same number of draw calls, no?
We have a situation where 3D fps is actually around 40fps.

2. Would the draw call issue also affect CM mode? CM mode is not affected by the problem at all! In fact, if 2D fps is 60fps, 3D CM fps is also 60fps, but actually the real FPS is 120 as there are 2 frames being generated for every reported frame by FRAPS etc. You would think draw calls are doubled here, but the CPU limit does not manifest ^.^

Onto draw calls theory game testing...

Presumably, DX12 games designed to take advantage of the draw calls issue won't suffer from this problem, but Afaik, all DX12 games run horribly in 3D Vision?

I have Win10 on my 3D Vision laptop. It has a GTX 770M. Any DX12 games which have draw calls properly implemented (not wrapped!) that someone can recommend, which do not run horribly?

Windows 10 64-bit, Intel 7700K @ 5.1GHz, 16GB 3600MHz CL15 DDR4 RAM, 2x GTX 1080 SLI, Asus Maximus IX Hero, Sound Blaster ZxR, PCIe Quad SSD, Oculus Rift CV1, DLP Link PGD-150 glasses, ViewSonic PJD6531w 3D DLP Projector @ 1280x800 120Hz native / 2560x1600 120Hz DSR 3D Gaming.

#39
Posted 10/05/2016 04:55 AM   
[quote="J0hnnieW4lker"]Who would imagine 3D Vision would be that much CPU dependent.[/quote] There are "a lot" of other things that factor into a game being CPU dependent. It depends on the developers programming of the game and the Engine being used. Like say that the game has physical effects that are not using Nvidia's PhysX/Flex API, if the developer or Engine puts the burden on the CPU, upgrading your GPU will not add better results. You CPU is doing that work. When you go from 2D-3D, your CPU is now doing twice the work that it was previously doing. There are many many different APIs/versions of physical effect implementations that come into play in performance issues. Luckily, Havoc is used quite often and is pretty decent. For your old motherboard, the best thing that you can do is to make sure that all of the drivers are up to date and that you are using the PCIex16 lane on your Mobo. Also, isn't that a tri-channel board? 16GB seems like a weird number, if it is.
J0hnnieW4lker said:Who would imagine 3D Vision would be that much CPU dependent.


There are "a lot" of other things that factor into a game being CPU dependent. It depends on the developers programming of the game and the Engine being used.

Like say that the game has physical effects that are not using Nvidia's PhysX/Flex API, if the developer or Engine puts the burden on the CPU, upgrading your GPU will not add better results. You CPU is doing that work. When you go from 2D-3D, your CPU is now doing twice the work that it was previously doing. There are many many different APIs/versions of physical effect implementations that come into play in performance issues. Luckily, Havoc is used quite often and is pretty decent.

For your old motherboard, the best thing that you can do is to make sure that all of the drivers are up to date and that you are using the PCIex16 lane on your Mobo. Also, isn't that a tri-channel board? 16GB seems like a weird number, if it is.

#40
Posted 10/05/2016 05:09 AM   
I posted this before and it's one of the reasons that I set my power management to Max Power and I unpark my cores. [quote="D-Man11"] Microsoft recommends to compute all timing on a single thread. Computation of timing on multiple threads — for example, with each thread associated with a specific processor — greatly reduces performance of multi-core systems due to modern power management technologies that idle and restore various cores at different times, which results in the cores typically being out of synchronization. Using the Windows API SetThreadAffinityMask that single thread is set to remain on a single processor. Typically, this is the main game thread. http://msdn.microsoft.com/en-us/library/ee417693%28VS.85,loband%29.aspx So SetThreadAffinityMask would explain why you are seeing most of the load on a single core, I think.[/quote]
I posted this before and it's one of the reasons that I set my power management to Max Power and I unpark my cores.


D-Man11 said: Microsoft recommends to compute all timing on a single thread. Computation of timing on multiple threads — for example, with each thread associated with a specific processor — greatly reduces performance of multi-core systems due to modern power management technologies that idle and restore various cores at different times, which results in the cores typically being out of synchronization. Using the Windows API SetThreadAffinityMask that single thread is set to remain on a single processor. Typically, this is the main game thread.


http://msdn.microsoft.com/en-us/library/ee417693%28VS.85,loband%29.aspx


So SetThreadAffinityMask would explain why you are seeing most of the load on a single core, I think.

#41
Posted 10/05/2016 05:37 AM   
[quote="RAGEdemon"] 2. Would the draw call issue also affect CM mode? CM mode is not affected by the problem at all! In fact, if 2D fps is 60fps, 3D CM fps is also 60fps, but actually the real FPS is 120 as there are 2 frames being generated for every reported frame by FRAPS etc. You would think draw calls are doubled here, but the CPU limit does not manifest ^.^ [/quote] No. You get the exact same number of Draw calls as in 2D. The game is rendering everything once. Then as a post-process effect it generates the other image. (Imagine Photoshop-ing + filters). That is CM. Nothing gets doubled. It is a single post-process operation over the whole screen based on the depth buffer. There aren't any additional Draw calls (maybe except 1-2 to blit the final image in another FBO or something). Also, FRAPS or MSI afteburner are NOT reliable. They HOOK the same Present/glSwapBuffers as the 3D Vision driver does. It then counts how many time the Present() function was called in a second. So, if the 3D Vision driver calls Present() 2 times (instead of 1 time) Fraps will report DOUBLE THE FPS. Hence, exactly what you see in CM as being DOUBLED FPS. It is false! It doesn't actually measure the time between a Begin of Frame and End of Frame. The only reliable FPS overlay that works every single time is from Geforce Experience - Share. Nvidia is actually smart on how they calculate the FPS;)
RAGEdemon said:

2. Would the draw call issue also affect CM mode? CM mode is not affected by the problem at all! In fact, if 2D fps is 60fps, 3D CM fps is also 60fps, but actually the real FPS is 120 as there are 2 frames being generated for every reported frame by FRAPS etc. You would think draw calls are doubled here, but the CPU limit does not manifest ^.^


No.
You get the exact same number of Draw calls as in 2D. The game is rendering everything once. Then as a post-process effect it generates the other image. (Imagine Photoshop-ing + filters).
That is CM. Nothing gets doubled. It is a single post-process operation over the whole screen based on the depth buffer. There aren't any additional Draw calls (maybe except 1-2 to blit the final image in another FBO or something).

Also, FRAPS or MSI afteburner are NOT reliable. They HOOK the same Present/glSwapBuffers as the 3D Vision driver does. It then counts how many time the Present() function was called in a second. So, if the 3D Vision driver calls Present() 2 times (instead of 1 time) Fraps will report DOUBLE THE FPS. Hence, exactly what you see in CM as being DOUBLED FPS. It is false!
It doesn't actually measure the time between a Begin of Frame and End of Frame.

The only reliable FPS overlay that works every single time is from Geforce Experience - Share. Nvidia is actually smart on how they calculate the FPS;)

1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc


My website with my fixes and OpenGL to 3D Vision wrapper:
http://3dsurroundgaming.com

(If you like some of the stuff that I've done and want to donate something, you can do it with PayPal at tavyhome@gmail.com)

#42
Posted 10/05/2016 09:53 AM   
@ D-Man11 It is on the PCIex16 and it is a dual channel MOBO, the memory is not fast though (1333) I will try to do an overclock to see if there is any improvement, but as people say here there are other facts, maybe even if I put my processor to run @ 5GHz it wont help. BTW I still need to try Windows 7. But still just can't get over the fact that I get 180fps in 2D and 30fps in 3D in Mafia 2 for instance. When I see these fps problems like in DX12 I just get skeptical. I tend to believe this is just software poor optimized, that the way 3D Vision was designed was terribly bad because I can get 3D in SBS (same effect) with no problems. It should not be allowed to release some technology for public that caps from 200fps to 30fps and have no information at all in terms of processor, MOBO, Memory, etc requirements. These are game requirements and not 3D Vision requirements. What this is telling me is that I also should have processor, MOBO and memories 3D Vision certified. Makes no sense to me.
@ D-Man11
It is on the PCIex16 and it is a dual channel MOBO, the memory is not fast though (1333)

I will try to do an overclock to see if there is any improvement, but as people say here there are other facts, maybe even if I put my processor to run @ 5GHz it wont help. BTW I still need to try Windows 7.

But still just can't get over the fact that I get 180fps in 2D and 30fps in 3D in Mafia 2 for instance.

When I see these fps problems like in DX12 I just get skeptical. I tend to believe this is just software poor optimized, that the way 3D Vision was designed was terribly bad because I can get 3D in SBS (same effect) with no problems. It should not be allowed to release some technology for public that caps from 200fps to 30fps and have no information at all in terms of processor, MOBO, Memory, etc requirements. These are game requirements and not 3D Vision requirements. What this is telling me is that I also should have processor, MOBO and memories 3D Vision certified. Makes no sense to me.

EVGA GTX 1070 FTW
Motherboard MSI Z370 SLI PLUS
Processor i5-8600K @ 4.2 | Cooler SilverStone AR02
Corsair Vengeance 8GB 3000Mhz | Windows 10 Pro
SSD 240gb Kingston UV400 | 2x HDs 1TB RAID0 | 2x HD 2TB RAID1
TV LG Cinema 3D 49lb6200 | ACER EDID override | Oculus Rift CV1
Steam: http://steamcommunity.com/id/J0hnnieW4lker
Screenshots: http://phereo.com/583b3a2f8884282d5d000007

#43
Posted 10/05/2016 12:55 PM   
[quote="D-Man11"][quote="D-Man11"]Use something like CPUz and make sure that your GPU is at 16X 2.0 in a 16x slot. For Batman, a dedicated PhysX card will help.[/quote] [quote="terintamel]"CPUz shows 16X 3.0 for the GPU. In the above tests PhysX effects were off.[/quote] When I had looked up your MB, it showed it as being PCi express 2.0 http://www.gigabyte.com/products/product-page.aspx?pid=4672#sp "(All PCI Express slots conform to the PCI Express 2.0 standard.)" [/quote] You are correct. My mistake.
D-Man11 said:
D-Man11 said:Use something like CPUz and make sure that your GPU is at 16X 2.0 in a 16x slot.

For Batman, a dedicated PhysX card will help.

terintamel said:"CPUz shows 16X 3.0 for the GPU.

In the above tests PhysX effects were off.


When I had looked up your MB, it showed it as being PCi express 2.0

http://www.gigabyte.com/products/product-page.aspx?pid=4672#sp
"(All PCI Express slots conform to the PCI Express 2.0 standard.)"



You are correct. My mistake.

AMD FX-8350 4GHz
Gigabyte 990FXA-UD3 Rev 4.0
G-Skill PC3-10700- 16GB
Gigabyte Windforce GTX 1060 OC 6GB - 417.01
Creative Soundblaster Z
ViewSonic VX2268WM Black 22" 1680x1050 5ms 120Hz 3Dvision
Windows 10 x64 1709

#44
Posted 10/05/2016 03:28 PM   
When I had my 3Dvision kit, usually turning down shadows solved this. But yep, laptops come already downclocked and dont reach their full potention normally. So when the game struggles even after the shadows are decreased (which only happens in a few newer games now), overclocking is the way. And still, in rarer occasions the game will struggle no matter what (like the smackdown pc game and mkx), that's when you lower either the framerate, AA, or rez. I made a program where you can overclock the cpu and gpu per game so you wouldn't have to worry about it that I've released elsewhere. If you want to try it, lemme know.
When I had my 3Dvision kit, usually turning down shadows solved this. But yep, laptops come already downclocked and dont reach their full potention normally. So when the game struggles even after the shadows are decreased (which only happens in a few newer games now), overclocking is the way. And still, in rarer occasions the game will struggle no matter what (like the smackdown pc game and mkx), that's when you lower either the framerate, AA, or rez. I made a program where you can overclock the cpu and gpu per game so you wouldn't have to worry about it that I've released elsewhere. If you want to try it, lemme know.

Model: Clevo P570WM Laptop
GPU: GeForce GTX 980M ~8GB GDDR5
CPU: Intel Core i7-4960X CPU +4.2GHz (12 CPUs)
Memory: 32GB Corsair Vengeance DDR3L 1600MHz, 4x8gb
OS: Microsoft Windows 7 Ultimate

#45
Posted 10/05/2016 03:57 PM   
  3 / 6    
Scroll To Top