Hmm.. Using this logic you should have a very negative stance Visavis AMDs RT implementation and Performance which scales poorly.
Very hard question. On one hand i like AMDs option to have programmable traversal, because it
might help with solving LOD.
On the other hand, i see no other benefit of programmable traversal, and fixed function is
much faster.
If i had to decide now, i would take the fixed function approach. But this means closing doors to other ideas we might not know about yet.
I imagine the bigger performance sink in RT currently is not the Lack of specific programmability in the API but the actual cost of shooting, traversing, and shading, and denoising - which is just slower on AMD.
Let's refine this:
Shooting + traversing is one thing, and the only one where AMD / NV HW differs.
Shading and denoising is entirely general purpose CU / SM work. I doubt AMD has a disadvantage here. In the past, general compute perf was alwasy better on AMd, up to GCN vs. Pascal. No experience after that. But AMD looses no space for full RT cores / tensors, so i expect they have the edge here.
Also, look at offline raytracer results. RTX on often gives only a speedup of 2 vs. RTX off. Which tells us a thing accelerating the traceRay function helps less with net performance than we would expect. Just saying.
Ofc. all this ignores out current topic of BVH building costs.
I asked a developer who worked on a Premiere game people have lauded for its RT implementation about greater API flexibility - And their response was that they wanted more and faster rays and less time micromanaging and creating optimisation paths.
In short: They want the easy path. Offloading all problems to IHVs, which worked well for decades.
Sadly, we can no longer do this once we tackle hard problems such as LOD, which is both about decreasing power and increasing detail. So we need to go there, sooner or later. And if we want to compete Epic, it's sooner.
Notice the work here is mostly on the tools side. It will affect content creation workflows and costs in both good and bad ways. The extra work on runtime engine like supporting multiple vendor BVH formats is not really relevant in comparison. And the revolution won't happen in one day.
So i really talk about long term goals, but currently it's not possible to plan this well, due to uncertainties related to RT. This is a form of 'holding back' developers, while not visible to end users any time soon.