Optimization Questions - UE4 Specific

Hello everyone,
i was wondering if i could get some advice regarding optimizing assets for ingame usage. I was previously working with Unity and i have a questions how UE4 is handling things :

  • Normally in Unity i have been batching/atlasing textures of objects in order to save drawcalls. Does this approach make sense in UE4 as well ?

  • Can UE4 handle 4k textures without loosing too much performance ? In Unity i was used to work with 2k textures only but i would prefer having more details on our (N)PCs models. When using 4k textures you can bake more details into normals and reduce the polycount of models further - what is the better approach here for the engine ? Put more details into textures or go with a higher polygon count ?

  • When creating LODs for characters is it better to have a single material with a 4k texture on all LOD or should i have extra textures with lower resolutions (the detail would not be needed on lower resolution, but does it save drawcalls if just reusing the same texture ? In Unity it does.)

Any feedback would be greatly appreciated. Thanks!

I don’t know how UE4 internally handles resources.
For the most part: Stuff that reduces work required by the GPU means the game will run faster on the GPU.

That should work.

That depends on the actual graphics card used, Different GPU specs affect what is slow.

You would need to profile for this.

Bottom line: More details means it runs slower.
You should follow general Graphics best practices( You can look at Direct3D/OpenGL related stuff about performance for insight ).

Understanding (more or less) how GPU’s work is very helpful in understanding performance.
And you will end up doing (a lot of) profiling to find the whats slow for your game.

HTH

GPU memory might also be limiting factor. 4k texture use 8-16MB memory depending is alpha channel used. Normal map that size use 16MB. Mesh with bigger polycount does not use even fraction of that.

Hi everyone,
thanks for the feedback - by the replies i see that performance in UE4 doesn’t seem to be such a big issue. Jenny was making a good point, so on repeating objects that use the same material it is better to use a higher texture - on unique objects e.g. an unique house it is better to go with a higher polygon count. The scene i have been building runs fantastic on UE4 while i can see that the same amount of textures and polygons would need a significant amount of polishing in Unity - that is where my confusion is coming from - i am used to do most of the optimizations myself - i have been wondering if the engine has actually anything behind it that does some of the optimization already for you since it is performing so good.

Texture costs are more like Drawcalls * Textures.
Each draw call will cause the texture(s) to be sampled each time for each pixel at least once( you could sample multiple pixels for some kind of effect or what not ).

It depends :slight_smile:

HTH