It’s because UE5 builds every possible combination of shader for efficiency reasons. permutations can quickly explode as more graphical features are added. The shaders are compiled on each users target hardware. A better solution would be shipping precompiled shaders, but graphics cards setups are so configurable now, that is no longer practical. I have also found this to be frustrating when you install a game and get to the main menu and it takes 1 hour for the shaders to be ready.
Another solution could be to group shaders by use case and only compile them as needed e.g when you get to the levels they are used in. That would require engine code changes though. Devs typically don’t notice the cost because they never work on a fresh install, shaders are cached in their dev environment. Same goes for QA.
Spot on. You're absolutely right. And my point is this: we know about the shader problem. This shouldn't be a surprise to us. The onus of being cognizant of the limitations of the middleware that we choose to use, of representing and testing the end-user experience and working with and around those challenges is on us, the developers, whether that's Blender, Unreal, FMOD, Houdini, a dev kit, anything.
yes. But that’s the difference between a good game and a great game - In the parts that you dont see… the invisible work that went into making it all fit on one disk, or work on a low end PC, or with a slow internet connection etc. The bugs that didnt mess up your savegame or freeze up gameplay.
Also - why is it that every modern game is now a 50GB download? do you REALLY need 4k textures and 4 maps for every possible surface? 🤔
It’s because UE5 builds every possible combination of shader for efficiency reasons. permutations can quickly explode as more graphical features are added. The shaders are compiled on each users target hardware. A better solution would be shipping precompiled shaders, but graphics cards setups are so configurable now, that is no longer practical. I have also found this to be frustrating when you install a game and get to the main menu and it takes 1 hour for the shaders to be ready.
Another solution could be to group shaders by use case and only compile them as needed e.g when you get to the levels they are used in. That would require engine code changes though. Devs typically don’t notice the cost because they never work on a fresh install, shaders are cached in their dev environment. Same goes for QA.
Spot on. You're absolutely right. And my point is this: we know about the shader problem. This shouldn't be a surprise to us. The onus of being cognizant of the limitations of the middleware that we choose to use, of representing and testing the end-user experience and working with and around those challenges is on us, the developers, whether that's Blender, Unreal, FMOD, Houdini, a dev kit, anything.
yes. But that’s the difference between a good game and a great game - In the parts that you dont see… the invisible work that went into making it all fit on one disk, or work on a low end PC, or with a slow internet connection etc. The bugs that didnt mess up your savegame or freeze up gameplay.
Also - why is it that every modern game is now a 50GB download? do you REALLY need 4k textures and 4 maps for every possible surface? 🤔