Hell Let Loose - R.I.P. Update 8

3 years ago
4

Nerd Info - Regarding -dx12 Modifier Causing Stutters:

DX11 and DX12 differ in a few ways. The biggest one is that DX12 allows multi-threaded draw calls - that means in scenes with a LOT of detailed objects, the gpu won't be waiting for a single-thread of the CPU to file all the draw calls to the GPU one at a time. Thousands of time per frame, 50~100 frames a minute (or more / less).

Draw calls are simply the CPU processing the scene and telling the video card to render one identically-textured connected set of (UV) textured surfaces on a model, one at a time. If a model has four different textures on it, and all the faces using each like-texture are sewn together while modeling, then it will require four draw calls (or more, if there's LOD versions of that same model in the distance, different LOD's won't batch). If a model has forty different surfaces, each with a different texture, it will require 40 draw calls. It does not make much difference to the gpu if it's got to render 1 surface, or 10,000 surfaces with one draw call, the gpu can render all this in roughly equal time. Lots of little draw calls really slow down filling in the scene, especially if the engine has a lot of state changes in between. So it pays in DX11 and below to keep draw calls down more than say in DX12 where multiple threads are working to drive the GPU to fill in the scene.

Batching = multiple identically textured surfaces on a model will batch, this is implemented at game-engine rendering engine level. This has no performance hit and is only a bonus to performance if anything. They will all draw in at once, take for example, two or more identical doors on an apartment building.

LOD's = Levels of detail. These are how things are rendered in open-world 3D games for ages now, these get progressively simpler as the camera/player is further away, requiring less triangle fill from the GPU to render, and much less draw calls via the CPU to render.

Loading comments...