After researching more about how GPUs handle instructions and cycles and taking into account the new rendering features of UE5 I’ve devised a new workflow for myself which I’m not totally certain is the right approach, sounds fine on paper and from the minor preliminary tests.
My workflow consists of the following:
-
I’ve chosen an aproximate texel density of 10.24 pixels/centimeter for my assets.
-
I’m using mostly 8k textures where multiple similar material composition assets are atlased on, such as wood objects.
-
To reduce the need for texture samples I’m packing textures quite aggressively. Roughness in Diffuse alpha channel. Metallic/Emissive and whatever else specific map is needed in the blue and alpha of the Normal Map.
-
I’ve decided to discard the normal map on most of my assets as I’ve opted to have the geometric detail directly in the vertices, with the help of nanite, made in the DCC. So most of my assets sample a single texture.
-
Because of the increased cost in memory I’ve decided to use virtual textures. I know that VTs sample the texture twice hence why I’ve decided on the more aggressive packing of textures.
-
Heavy use of custom primitive data and some texture arrays here and there, has significantly cut the amount of material instances I required.
Considering the above, my superficial profiling shows promising results, as a myriad of objects with 100s of millions of polys render quite cheaply requiring only 0.8 ms in Nanite basepass on a 3060 ti 1080p 100% Screen Percentage. Nanite seems quite capable at batching draw calls of different assets sharing the same material.
Disk storage cost seems more or less the same. The increased geometric complexity is being offset decently nice in terms of disk cost, by the elimination of normal and mask maps from various assets.
My concern is if high resolution textures have other hidden computational cost that I’m not aware of and not just a straight up memory cost increase, that might come back to bite me as I further scale up my scenes in the future.
Is sampling an 8K texture more expensive than sampling a 4k/2k? If yes would that cost possibly be offset or lower considering the overall amount of samples would end up lower in the long run?
Thanks for reading.