vulcan78

Forum Replies Created

Viewing 2 posts - 16 through 17 (of 17 total)
  • Author
    Posts
  • vulcan78
    Participant

    That explains a lot. Guess I don’t have to wonder anymore how that myth arised. Considering the author of that post all I’ll say is that half-baked superficial knowledge combined with strong opinions and the drive to share one’s ‘wisdom’ with the world is probably the most dangerous thing developed by mankind besides maybe the hydrogen bomb. Luckily in this case the only harm done was causing confusion among a stereo 3D community. ;)

    I have no reason to defend nVidia, but imagine the following simplified scenario: a CPU with two cores and a game using two threads, one for rendering, one for physics. In mono both threads each fully utilize ‘their’ core, overall CPU usage 100%. Now, again for the sake of simplicity, let’s say stereo rendering doubles the CPU workload of the render thread, causing the framerate to drop to half purely due to the higher CPU workload. The first thread (rendering) would still fully utilize its core, but the second thread (physics) now would only have to utilize 50% of its core since only half the frames need physics calculated compared to before. Result: instead of 100% CPU usage mono you get 75% CPU usage with stereo.

    No mysterious ‘3 core bug’ anywhere, everything working as expected. The ‘culprit’ is the added stereo workload on the render thread, as simple as that. The numbers will differ in a real world example and vary from game to game, but I hope you get the idea.

    If this were the case of a thread responsible for rendering frames being saturated and needing to offload some of it’s workload onto another thread then we would see this problem running the game in 2D at 120 FPS but this isn’t the case with 3D Vision. Example, say I run GTA 5, Prey or Rise of the Tomb Raider in a CPU intensive area (DX11) @ 120 FPS in 2D, everything maxed, at 2560×1440 with 2080 Ti and 8700k @ 5.1 GHz no problem, but 3D performance is, it’s like 1/3rd, an abysmal 40 FPS, or 80 FPS 2D. Even DX11 has the ability to use more than 4 cores / 8 threads for rendering, i.e. Crysis 2 / 3 or Watchdogs 2 for example, which sees even distribution of workload across CPU’s of greater core count. 3D Vision actually limits the game to only being able to run on 3 physical cores for some odd reason, so an 8700k would yield 0% performance advantage over 7700k and even 7700k would be down a core trying to process any game. I get and appreciate your logic that rendering would actually decrease the CPU load (because physics being done on a single thread would have reduced workload) but that’s not what I’m describing, 3D Vision limits the number of available physical cores to 3 cores for some odd reason, the technical nature of which escapes me right now. There is around a 50% drop in performance due to 3 core bug. For example, I can run a game @ 120 FPS with full load on the GPU in 2D but because 3 core bug limits the number of physical cores available to 3 in 3D those 3 cores may be incapable of rendering the game at 120 FPS (even the the effect renders @ 60 FPS there are still 120 frames being created simultaneously, one for each eye). Usually a CPU demanding title that I can run at 120 FPS avg with full / near full usage on the GPU will only run at 40 FPS, a performance drop of 40 FPS 2D.

    vulcan78
    Participant

    With Geometry 3D vorpX, just like 3D-Vision, has to submit twice as many draw calls to the GPU, one for each eye, which essentially doubles the workload for the GPU and also implies substantially more work on the CPU side. That’s not a bug though, neither in 3D-Vision nor in vorpX. I’m not sure why among members of the 3D-Vision community this frequently gets called “3 core bug”. One of those odd urban legends where you seriously wonder how they could ever have come into existence.

    The actual fact of the matter is that submitting work to the GPU in most current game engines is still largely a serial task. It doesn’t automatically get parallelized just because a CPU has more cores. Now if one core gets maxed out by the main render thread, the whole game is limited at that point, no matter how many cores are left doing nothing. That’s not a bug, that’s just how things work. The only ones who can change that are the game devs by making better use of multithreading in their rendering code (as far as possible, there are limits to that).

    No actually 3D Vision limits the number of cores used to 3 cores, this has nothing to do with draw call count or GPU workload.

    https://www.nvidia.com/en-us/geforce/forums/3d-vision/41/239588/3d-vision-cpu-bottelneck-gathering-information-thr/

    This is why I’m asking this here, does VorpX do something similar / will I be limited to 3 physical cores with it?

Viewing 2 posts - 16 through 17 (of 17 total)

Spread the word. Share this post!