3 ms·
> In fact, the video game industry is one of the few that actually care about performance, often more than safety and correctness. If it does, then it doesn't
by Llamamoe 2y ago
> In fact, the video game industry is one of the few that actually care about performance, often more than safety and correctness.
If it does, then it doesn't show. It feels as though most major game engines have completely given up on performance-as-a-default in favour of simplifying (sometimes marginally) art workflows, and the frame rendering breakdown articles/videos I consume now and then entail baffling, utterly ridiculous and unnecessary drawcall counts, unoptimized geometry, poorly optimized shaders that give marginal graphical improvements, huge overdraw, etc.
It's gotten bad enough that resolution upscaling is becoming commonplace because of how ridiculous the per-fragment rendering costs are getting. That has no right to happen in games without high-fidelity subsurface scattering, volumetric effects, indirect lighting, raytraced reflections, etc. And yet it does. This is something nobody resorted to even in the 90s.
I recommend videos from the YT channel Threat Interactive, where they break down a lot of the horrifying rendering performance regressions that have become the norm in recent times.
- sigmoid10 2y agoOptimization happens elsewhere these days. Modern GPUs easily chug tons of triangles as long as they are not smaller than a single pixel. That's why stuff like Nanite is possible, where you auto-compute LOD geometry to roughly pixel-level polygon resolution and it will actually be faster than traditional LODs if you have tons of meshes in your view frustum. If you want to see some really fancy modern optimizations, look for example at how Guerilla implemented 3d volumetric clouds in Horizon. Using some clever tricks, they got the render cost down from 20ms to 2ms, thus making it possible to run on a base PS4.
- Llamamoe 2y agoAs far as I can tell, Nanite is only faster when you're rendering huge trianglecount, unoptimized meshes, and strictly slower than proper LOD - I've seen convincing evidence that just enabling Nanite for already-optimized meshes results in big performance losses in and of itself. If anything, it's the prototypical example of a "performance regression for the sake of streamlining artist workflows" feature. And honestly, I'm not very impressed by volumetric clouds when games like Assassin's Creed Unity from 2014 had enormous, sprawling open worlds with high-quality visuals comparable to much more recent games that struggle to run on hardware with several times the juice. Very often, modern games look straight up worse for much higher resource cost because they stop looking better once you're forced to drop from maximum settings(and you are). There's blurry AA techniques, resolution upscaling(ew), or the fact that lowering texture resolution often degrades graphics way, way harder than in older titles using similar texture fidelity.