GPU Ray Tracing Performance Comparisons [2021-2022]

I'm still GPU limited in big cities but if you send me a save file I'll happily load it and let you know what I get in the exact same spot as you.


Why shouldn't it? It's an aging CPU with IPC that's substantially below modern CPU's.

In what world The Witcher 3 should kill a 3700x ? Given the dx11 vs dx12+rt results, it's a clearly a code problem before being just a "oh, old cpu" problem. If you see Pong with RT at 25fps on a 3700x with the gpu around 60% usage, you will say it's a cpu problem too ?

When you have only 1-2 core used "fully", don't tell me the cpu is limiting stuff. No, the code/the engine is. A lot of games are making a good usage of multiples cores now, hell even CP2077 with the same engine is more cpu efficient than that. Something is wrong with the dx12 path....
 
In what world The Witcher 3 should kill a 3700x ? Given the dx11 vs dx12+rt results, it's a clearly a code problem before being just a "oh, old cpu" problem. If you see Pong with RT at 25fps on a 3700x with the gpu around 60% usage, you will say it's a cpu problem too ?

When you have only 1-2 core used "fully", don't tell me the cpu is limiting stuff. No, the code/the engine is. A lot of games are making a good usage of multiples cores now, hell even CP2077 with the same engine is more cpu efficient than that. Something is wrong with the dx12 path....

Yes it's a CPU problem, certain tasks just do not and can not be scaled properly across multiple cores.

Do you not think it's a coincidence that pretty much every game with RT tanks only a few CPU cores with RT enabled?

Or are you going to claim every single game with RT is poorly coded?

Not everything gets a performance increase when parallelizing your code across multiple threads and people need to understand that rather than shouting......."but..but....it's poor coding!!!111!!!!!"

Updating/building the top level BVH structure, sometimes per frame (which is generally what the CPU is tasked with when RT is enabled) is not something that you can split across many threads (which is why I've stated multiple times in this forum that the sooner we get GPU's with hardware support for BVH updating the better)
 
Last edited:
So in short, all the people on PC crying about bad optimization on the new Witcher 3 update because they can't run raytracing just don't get that the game is more demanding by default on their machines compared to the original game 🤔

Shouldent that be common sense though. Even without all the graphics upgrades they did compared to og release, RT in general will be naturally heavy which scales will how many RT effects are in the game, isn't that something that has been obvious for a while now?
 
Last edited:
So in short, all the people on PC crying about bad optimization on the new Witcher 3 update because they can't run raytracing just don't get that the game is more demanding by default on their machines
There are certain things that can tank RT performance (From a CPU point of view) and unfortunately W3 does those certain things.

The RT draw distance is HUGE which means the BVH itself is huge which means there's a high CPU cost to go with it.

Could it be optimised? Of course it could but the ray tracing draw distance being huge isn't an engine/code problem, it's a developer choice problem as they chose to have it that large.

What I would like to see added to RT games as standard is a BVH detail slider like we have in Spiderman as this would allow users to tailor the size (and thus performance hit) of the BVH to their own CPU and frame rate requirements instead of being stuck with whatever the develop choses for the end user.
 
Yes it's a CPU problem, certain tasks just do not and can not be scaled properly across multiple cores.

Do you not think it's a coincidence that pretty much every game with RT tanks only a few CPU cores with RT enabled?

Or are you going to claim every single game with RT is poorly coded?

Not everything gets a performance increase when parallelizing your code across multiple threads and people need to understand that rather than shouting......."but..but....it's poor coding!!!111!!!!!"

Updating/building the top level BVH structure, sometimes per frame (which is generally what the CPU is tasked with when RT is enabled) is not something that you can split across many threads (which is why I've stated multiple times in this forum that the sooner we get GPU's with hardware support for BVH updating the better)

:ROFLMAO:


Now this is a new one : usually I use this blog to write about newly published papers, or share some experience with some currently ongoing projects – but this one time, I’ll actually use this blog to direct attention back to some papers that actually happened a looong time ago.

Some work was done on parallel BVH reconstruction on CPU at the time but it can work on GPU too and it was done 10 years ago for some of the paper... Maybe DXR do poorly and use single threaded BVH construction/refit but if it is the case this is Microsoft fault because parallel BVH construction and refit exists long before the creation of DXR. I doubt it is the case. And it is not because the impact of bad multithreading is more visible with RT than it doesn't exist without RT. This is not because a game run at 120 fps on a 3700X than the game engine is top notch maybe it would run with optimization at 300 fps like Doom Eternal.

Again young padawan, I see you joined in June 2021, some people here are following how 3d work since nearly 20 years. And some work in the industry here, less than before but a few stay like Andrew Lauritzen or Rys. You remind me of some people doing car tuning thinking they can engineer and create a car. Try to understand the subject before talking. I was knowing parallel BVH construction is possible I just needed to type "parallel BVH construction" in a search engine and I found multiples link on the subject.
 
Last edited:
I'm basically a 120+ gamer, and I run into cpu limitations all of the time, and it's the main reason I won't use ray tracing. I have a very unbalanced system in that I'm pairing a 3080 with a 5600x (was a 3600x), and it just hits a wall with ray tracing on. I can easily crank every setting to ultra and get 60fps with ray tracing, but if I start mixing ray tracing with other high and medium settings, or with dlss I start to see areas in games where I'll hit a hard cpu limit. Like when I posted earlier playing control, back when I had my 3600x. That main hub area with the inverted pyramid was tremendously limited with ray tracing on, but other areas in the game I'd easily push very high frame rates. It's just a less consistent experience.

Unfortunately I would have been much better off buying an intel cpu to get the raw clock speed and the easy memory overclocking, but I didn't and here I am lol.
that's an issue. Higher framerates is one of the reasons I prefer to play on my 32" 165Hz monitor than on my 4K 120Hz TV -the TV has better IQ overall, but the frames you gain, plus the monitor has a decent HDR and decent contrast, you get a good IQ too-. Once you get used to 144-165-240+ Hz it's tough to play even at stable 60fps.

This is specially noticeable if you play games like Doom Eternal at 144-165Hz and then you limit the display framerate to 60fps. Once you got used to those fps the game looks twitchy when running at 60fps.

With RT On and every setting in Ultra Nightmare I get 105fps average at 1440p XeSS quality in Doom Eternal. Changing from Ultra Nightmare settings to lower quality settings makes no difference. Without RT I get from 143 to 165fps, depending.

As for the CPU...., Intel has better gaming CPUs, as usual. Even when I purchased my first AMD CPU ever, the Ryzen 1500X, Intel CPUs were better at running games. That was a time where I'd go with a Intel CPU if the prices were better, and in the end Ryzen was a great CPU not because of performance but because it was very successful and Intel had to rethink their price strategy. Now, imho, Ryzen pales in comparison with Intel, which wins hands down.
 
And Ingo Wald who talk about parallel construction of BVH is the director of raytracing at Nvidia. He knows about what he is talking for sure. ;)
 
Man...I can't imagine being that into fps, 60fps sure is appreciated though this gen. I feel like if I ever got a PC I'd be absolutely paralyzed by choice and spend more time adjusting settings than playing games.
 
And yet I can easily see why RT is so hard in W3 and it has very little to do with the game code.
we are talking 60fps here, which is not that much even for a 3700X. There is plenty of room for improvement in the code, and you can get hints of that in the dx12user.settings file you can find in the Documents/The Witcher 3 folder.
 
Man...I can't imagine being that into fps, 60fps sure is appreciated though this gen. I feel like if I ever got a PC I'd be absolutely paralyzed by choice and spend more time adjusting settings than playing games.
:mrgreen: can feel your pain. Depends on the game though. Luckily for me The Witcher 3 Next Gen can be locked at 30fp so you click on RT Ultra and everything is done for you. LFC and VRR do the rest, and also a setting in the graphics card menu called adaptive sync plus.

wQvWGHs.png


With those things enabled the game even looks "smooth". (you might think this is impossible) It actually holds up well, 'cos I tried the game in a non VRR screen and believe me that you can almost count the frames with your eyes, given the "jumps" between frames. It's specially noticeable when the camera turns around. You get easily lost.

LFC, VRR and ASP are the holy trinity.
 
Last edited:
:ROFLMAO:


Some work was done on parallel BVH reconstruction on CPU at the time but it can work on GPU too and it was done 10 years ago for some of the paper...
I never said you couldn't have some parallelism for BVH on the CPU
Maybe DXR do poorly and use single threaded BVH construction/refit but if it is the case this is Microsoft fault because parallel BVH construction and refit exists long before the creation of DXR.
So in TW3 then it's still not a code problem with the game but a DXR problem
I doubt it is the case.
That's cute
And it is not because the impact of bad multithreading is more visible with RT than it doesn't exist without RT, this is not because a game run at 120 fps on a 3700X than the game engine is top notch maybe it would run with optimization at 300 fps like Doom Eternal on the same CPU.
Want to try that again but make sure it actually makes sense next time around?
Again young padawan, I see you joined in June 2021,
When you have to target when someone joined here you know you have nothing.
some people here are following how 3d work since nearly 20 years.
And I love reading their posts.
And some work in the industry here, less than before but a few stay like Andrew Lauritzen or Rys.
I'm very aware and as above, I love reading their posts.
You remind me of some people doing car tuning thinking they can engineer and create a car.
Another irrelevant comment, do you actually add anything to any discussion you have?
Try to understand the subject before talking.
Ironic.
I was knowing parallel BVH construction is possible I just needed to type "parallel BVH construction" in a search engine and I found multiples link on the subject.
Where did I say it was not possible?

I've yet to see a post from you where you actually add anything, it seems to be same same dribble and posting structure and when you don't have anything substantial you resort to the 'you don't know what you're talking about' line.

Also, as I've asked before, please work on your sentence structure as it's appalling for the standard of this forum.
 
Last edited:
Man...I can't imagine being that into fps, 60fps sure is appreciated though this gen. I feel like if I ever got a PC I'd be absolutely paralyzed by choice and spend more time adjusting settings than playing games.
It's not so bad now, back when overclocking was something you could actually do on pretty much every motherboard with every CPU it was so easy to get caught in the trap of spending all your time chasing those few extra Mhz's rather then actually playing games.

I know I'm very guilty of it.
 
we are talking 60fps here, which is not that much even for a 3700X. There is plenty of room for improvement in the code, and you can get hints of that in the dx12user.settings file you can find in the Documents/The Witcher 3 folder.

I've played around with the config file and can not find any options to reduce the objects in the BVH, the range of the BVH or any options that would bring CPU performance up.

Can you point me in the right direction to these settings?
 
Last edited:
I never said you couldn't have some parallelism for BVH on the CPU

So in TW3 then it's still not a code problem with the game but a DXR problem

That's cute

Want to try that again but make sure it actually makes sense next time around?

When you have to target when someone joined here you know you have nothing.

And I love reading their posts.

I'm very aware and as above, I love reading their posts.

Another irrelevant comment, do you actually add anything to any discussion you have?

Ironic.

Where did I say it was not possible?

I've yet to see a post from you where you actually add anything, it seems to be same same dribble and posting structure and when you don't have anything substantial you resort to the 'you don't know what you're talking about' line.

Also, as I've asked before, please work on your sentence structure as it's appalling for the standard of this forum.

I will try to take more time to answer and do better sentence structure. English is not my native language. I can't answer as fast as in french. And I verify when you register because I was sure you were a bit ignorant about how 3d rendering and videogames work. This is the exact quote. Maybe I have a reading comprehension or you were just caught with your pants down.:ROFLMAO:

Updating/building the top level BVH structure, sometimes per frame (which is generally what the CPU is tasked with when RT is enabled) is not something that you can split across many threads (which is why I've stated multiple times in this forum that the sooner we get GPU's with hardware support for BVH updating the better)
 
I will try to take more time to answer and do better sentence structure. English is not my native language. I can't answer as fast as in french. And I verify when you register because I was sure you were a bit ignorant about how 3d rendering and videogames work. This is the exact quote. Maybe I have a reading comprehension or you were just caught with your pants down.:ROFLMAO:

Let's go back to what I said......

Updating/building the top level BVH structure, sometimes per frame is not something that you can split across many threads

Here's a quote taken from the conclusion of Ingo Wald's paper on fast BVH generation on a CPU (A person who you yourself have shown to trust)

We have also presented two different schemes for parallelizing our algorithm, both of which should scale well in theory, but both of which seem to hit the memory wall at around 3-4 threads. Consequently, both schemes do not scale to more than 4 threads on our current hardware setup

Another quote from his paper

For both the grid-based and the hybrid parallelization schemes, scalability is far below expectations. Scalability is reasonably good for 2 threads, and still acceptable for 4, but in all our experiments, going from 4 to 8 threads gives rather low improvement overall, sometimes even leading to a slowdown.

Would you look at that, he backs up what I said, in fact the whole paper is full of examples where he explains that scaling across threads/cores can be poor (Depending on what work is being done) when looking to do BVH work on the CPU.

And his most recent blog posts relates to BVH work on a GPU via async so it's irrelevant to this discussion. And to also add to that the work load used in his paper is rendering, which doesn't have the same work load as a CPU having to do RT work and running game code.

And just like that, we're done.

Have a nice day.
 
Last edited:
Let's go back to what I said......



Here's a quote taken from the conclusion of Ingo Wald's paper on fast BVH generation on a CPU (A person who you yourself have shown to trust)



Another quote form his paper



Would you look at that, he backs up what I said, in fact the whole paper is full of examples where he explains that scaling across threads/cores can be poor (Depending on what work is being done) when looking to do BVH work on the CPU.

And his most recent blog posts relates to BVH work on a GPU via async so it's irrelevant to this discussion. And to also add to that the work load used in his paper is rendering, which doesn't have the same work load as a CPU having to do RT work and running game code.

And just like that, we're done.

Have a nice day.

Let's go back to what I said......



Here's a quote taken from the conclusion of Ingo Wald's paper on fast BVH generation on a CPU (A person who you yourself have shown to trust)



Another quote from his paper



Would you look at that, he backs up what I said, in fact the whole paper is full of examples where he explains that scaling across threads/cores can be poor (Depending on what work is being done) when looking to do BVH work on the CPU.

And his most recent blog posts relates to BVH work on a GPU via async so it's irrelevant to this discussion. And to also add to that the work load used in his paper is rendering, which doesn't have the same work load as a CPU having to do RT work and running game code.

And just like that, we're done.

Have a nice day.
4 hardware threads directly from the paper it is good better than single threaded It means 4 CPU cores. This is great and it stay 4 cores for the CPU to do other stuff on an 8 cores CPU. Maybe it it is possible to use a little bit of CPU time using SMT on the 4 cores doing BVH construction. 4 cores are multiples cores. ;)

Yes it's a CPU problem, certain tasks just do not and can not be scaled properly across multiple cores.
 
Back
Top