I read a paper on Far Cry 5's terrain system which mentioned that their budget for the terrain was 2ms. Does anyone know of any other discussions or breakdowns of GPU ms budgets on shipped projects? How much time for example Borderlands 3 spends drawing terrain, skybox, animated characters, effects, that sort of thing?
Hard to google because you get a lot of budget graphics card discussion.
Thanks!
Replies
I ask because this is much like asking for polycounts or texture sizes in the sense that it tells you very little of practical use without a whole shit load of context to go with it.
The problems with just having a number like 2ms are multiple
1 : GPUs work in a massively parallel fashion i.e. they do thousands of things at once. Engine/Render programmers take advantage of this parallelism in cunning ways such as hiding calculations behind slow operations (eg, loading texture data.) and as a result an operation that takes 2ms doesn't necessarily delay everything else by 2ms. The total time taken can be (and commonly is) masked by clever scheduling of tasks within the render pipeline
2 : Without knowing how much of the screen it covers at the time of capture it's a meaningless number - if it's 2ms and it covers the whole screen you hit 500 fps - if it takes up 8x8 pixels at 4k you need to adjust some priorities.
3: You don't know what the CPU is doing... The GPU can't do anything without being fed so if your CPU needs 10ms to deal with it's shit and submit everything to the GPU that leaves you with 20ms of GPU time if you want to hit 30fps* 2ms is 10% of that time
*(its not that simple in practice).
it's worth poking the gpu profiler in unreal if you want to get an understanding of how this sort of thing works - I'd urge any artist to do this since it'd make my job a lot easier if everyone did