(no title)
andrewallbright | 3 years ago
I'd love to know what optimization techniques are used so that those precious CPU/GPU cycles can go to those good looking things.
Side note: being absolutely forced to optimize the heck out of games as an essential practice gives me a much greater sense of performance characteristics in my "real" job and also in leetcode.
jessermeyer|3 years ago
Use the GPU to decide what to render, and in a growing number of cases, will cull triangles in compute (software) instead of letting the fixed pipeline do it. The vertex shader feeds parameters to the fragment shader even if the triangle is culled (depth or backfacing), so with vertex counts climbing, there is a lot of dead time spent feeding fragment shaders that are never ran.
Render at a lower resolution and temporally upsample to a higher resolution.
Using low overhead apis that optimize command recording performance (DX12, Vulkan) and transfer / memory access.
Multithread all the things.
Obsess over data locality and compression.
dclowd9901|3 years ago
Tiktaalik|3 years ago
Don't allocate memory. Don't re-layout ui. etc
eclipxe|3 years ago
andrewallbright|3 years ago