AMD should ignore the RTX move by Nvidia completely and focus on reintroducing their old VLIW architecture for shaders wich saved almost an order of magnitude in power consumption.
AMD should ignore the RTX move by Nvidia completely and focus on reintroducing their old VLIW architecture for shaders wich saved almost an order of magnitude in power consumption.
You're extrapolating the opinion of a subset of gamers (high speed twitch gaming) to everybody.
When I played Skyrim, I set the image quality as high as possible. Same with the Witcher 3. There are plenty of games where 144fps is not necessary to do well.
As for ray tracing: it's not a huge surprise that it will stumble a bit out of the gate initially. Be we already see in Metro that it can look great. Give it some time for developers to know how to best use it and gamers to want it. I think it's unavoidable.
> AMD should ... focus on reintroducing their old VLIW architecture for shaders wich saved almost an order of magnitude in power consumption.
Let's ignore the "order of magnitude" hyperbole, because that's just silly.
There is no evidence that the old VLIW ISA would do much better in perf/W than GCN. And it's very easy to prove that a non-VLIW ISA can do much better than GCN: Nvidia did just that.
AMD switched from the old VLIW ISA to GCN because the writing was on the wall that shaders were transitioning from transitional vector calculations to generic compute shaders. If perf/W is your concern, moving to an instruction set that make it much harder to fill all the ALU slots is just the opposite of what you should be doing.
- It isn't just visual, ray tracing can be used for collision detection.
Anyone interested should take a look at the free, 600+ page Ray Tracing Gems book: http://www.realtimerendering.com/raytracinggems/unofficial_R...
There's no ground to be (so) sure of that.
Given the current high cost, and more or less subtle effect, the prediction is uncertain, although very desirable.
If in "the future" there will be a way to make RT cheap, definitely, it will be the way (I'd be very happy of that). If not, it will be another option, as it doesn't make sense to shove everybody's throat a feature that sucks 30/50% of the framerate.
Additionally, as of now, we're talking about typically 30/50% of performance loss just for a single RT effect - eg. Metro Exodus uses it only for Global illumination, while Battlefield uses it only for reflections. What's going to be the performance hit for games using multiple RT effects?
Quake 2 has already been made to ditch rasterization altogether and use only raytracing: https://www.nvidia.com/en-us/geforce/news/quake-ii-rtx-ray-t...
It was the rasterization state of the art 22 years ago. So I'd say it will take a maximum of another 22 years to render today's AAA geometries in real-time with raytracing. Though given how much more money there is today in the gaming industry, plus the way AI augments that curve, I would take a guess that it'll be closer to 5 years.
Raytracing has been "just around the corner" for at least a decade. Remember Quake Wars? https://en.wikipedia.org/wiki/Quake_Wars:_Ray_Traced
I actually think the speed plateau is going to make life very interesting. If we want to keep seeing improvements, we need to become smarter. It's getting more and more worthwhile making dedicated silicon to accomplish tasks, rather than just waiting a few years. We're probably near the peak of what we can do with traditional graphics - we've used every trick in the book and we're running out of transistors to throw at the problem. We need new approaches.
Why? Raytracing doesn't pay a penalty for overdraw. Rasterization time increases linearly with scene complexity, while raytracing time (with the proper acceleration structures in place) increases logarithmically.
We're eventually going to see open world games that are only possible via raytracing.
Raytracing scales logarithmically due to the log(n) behavior of the ray-triangle acceleration structure, typically a tree or trie structure of some sort (f.ex. kd-tree, octree, qbvh).
Constructing the acceleration structure has a cost K(n), so the true cost for rendering a frame is O(n) = log(n) + K(n).
The problem then is that if your mesh is dynamic, you'll have to reconstruct the structure for each frame. For things like kd-trees, K(n) = n*log(n), killing the log(n) search benefit.
Typically one would use a hierarchy of acceleration structures where on the top level you have one structure which contains the bounding boxes for each of the objects in the scene. Each object then has it's own acceleration structure, which can be different depending on if the object is a static mesh or a dynamic mesh.
When ray-tracing one first traverses the top-level structure, and for each bounding-box hit, one traverses the candidate object's acceleration structure.
Creating the top-level structure is then fast due to low n. For static meshes, such as terrain, the acceleration structure can be pre-built or built during loading of the scene, where a few seconds can often be afforded, resulting in zero per-frame cost.
The key difficulty is with dense, highly dynamic meshes, such as character meshes. Due to the advanced animation of character meshes these days[1], pre-computing the acceleration structure isn't really feasible for the full mesh (though temporal coherency might perhaps be exploited here).
At least that's that was the state some 10 years ago when I last fiddled with this. Sadly I haven't had time to catch up much, though glancing over some DirectX 12 material it seems the above is pretty accurate for how DX12 does it at least.
[1]: Old (2006) but very illustrative example from Crysis: https://www.youtube.com/watch?v=0JFYt8kGYhM
For the 10-series to 20-series upgrade, the highest end NVidia die size increased from 471mm^2 to 754mm^2 and the second highest went from 314mm^2 to 545mm^2. And that's with a move from 16nm to 12nm.
The 7nm NVidia card might have better economies of scale but unlike Navi, there's nothing rumored to be in the pipeline over the next year.
This is a physical reality, the new chip is bigger and it ray traces an ancient game at less than 60fps 1080p with significant noise and aliasing artifacts despite having specialized hardware.
I’m not sure why I’m expected to engage in a Gish Gallop of NVidia marketing buzzwords when the facts are clear. It’s bullshit, plain and simple. Neither you nor the grandparent are giving actual facts.
You seem to like absolutes … Let me prove you wrong: I care about nicer looking reflections and realistic soft shadows.
Gamers would probably prefer RTX not exist, but the decision to make a game mostly comes from within the company, and when management realizes just how many expensive GLSL-proficient shader devs they can replace with passion-fueled artists willing to slave for pennies...
2) Higher framerates up to a point. That point is probably about 200Hz. If GPU speeds increase to the point where everyone has 200fps capability, then RTX will be an important bump in quality. I think it's actually very good timing on NVIDIA's side to start pushing this now, so by the time that GPUs get powerful enough, the technology will be well-established.
3) Higher resolutions are also on the horizon. Ultrawide monitors, 1440p, 4k, etc are coming. Resolution has a very high impact on fps, an impact that can be larger than RTX-ON.
We just need to get past the hurdle of it, once a bunch of raytracing cards are out in the wild (as now are), more games will be made with such effects, and this will push more need for raytracing hardware, until we almost entirely abandon raster.
Honestly raster feels inherently "unreal", a drawing as opposed to a real space. While raytrace feels like recreation of reality.
Most gamers were complaining that it doesn't do 60 FPS, but I couldn't care less about FPS. I want something beautiful.
If you truly didn't care about FPS then you would be ray tracing on your CPU already.
At the same time NVIDIA and hopefully AMD are at least trying to catch up with the techniques that movies are using for a long time, while I see games stopped at some point.
I watch new movies in IMAX whenever I can because I just love to see the new animations, even though I'm surrounded with teenagers and I feel that the stories are predictably dumb for me.
A lot of games go to great lengths to make the lighting look sort-of-natural, but this takes a lot of manual effort by artists and it's usually mostly static.
Real-time global illumination gets you realistic lighting without extra manual effort, and it enables dynamic lighting effects such as light pouring into a dimly lit room when a door is opened or the sun changing position in the sky over time.
Ray tracing also has secondary uses, like determining visibility between arbitrary points in the scene or doing collision detection.