Difference between revisions of "Aggressive Optimizations"
m |
|||
Line 22: | Line 22: | ||
[https://www.soft8soft.com/docs/manual/en/blender/Lighting-and-Rendering.html#light_probes Reflection cubemaps] affect loading speed, [https://www.soft8soft.com/docs/manual/en/blender/Lighting-and-Rendering.html#reflection_plane_light_probes planes] affect both loading speed and rendering performance. Both consume GPU memory. | [https://www.soft8soft.com/docs/manual/en/blender/Lighting-and-Rendering.html#light_probes Reflection cubemaps] affect loading speed, [https://www.soft8soft.com/docs/manual/en/blender/Lighting-and-Rendering.html#reflection_plane_light_probes planes] affect both loading speed and rendering performance. Both consume GPU memory. | ||
== Use either light sources or | == Use either light sources or IBL-based environment reflections == | ||
Don't use them both, stick to one: | |||
* | * Remove all light sources. For better performance you might also switch [https://www.soft8soft.com/docs/manual/en/blender/Lighting-and-Rendering.html#ibl_environment_mode IBL mode] to "Light Probe + Cubemap". | ||
* | * Keep light sources (preferably one light) but disable specular reflections from your IBL maps by switching [https://www.soft8soft.com/docs/manual/en/blender/Lighting-and-Rendering.html#ibl_environment_mode IBL mode] to "Light Probe" ( which provides only diffuse lighting). | ||
== Set IBL cubemap size to 256 == | == Set IBL cubemap size to 256 == |
Revision as of 20:56, 7 December 2022
Here is the list of aggressive optimizations that you can use as quick & dirty hacks to boost performance of your apps. All these techniques reduce rendering quality, so use them with caution! Normally, you should always be a patient optimizer and stick to the "official" recommendations specified here and here.
Disable shadows
This can help a lot, especially if you:
- Use huge shadow maps (perhaps it's time to reduce their size!)
- Use a lot of shadow sources (stick to just one)
- Use PCF (Poisson Disk) / ESM shadow filtering (choose Basic or Bilinear)
- Cast shadows from the point lights (never!)
Disable post-processing
It's not always about post-processing puzzles. Don't forget about ambient occlusion and outlining which are enabled in the modeling suite!
Disable HDR rendering
I'm sure you never enable it without proper thinking.
Remove reflection cubemaps and planes
Reflection cubemaps affect loading speed, planes affect both loading speed and rendering performance. Both consume GPU memory.
Use either light sources or IBL-based environment reflections
Don't use them both, stick to one:
- Remove all light sources. For better performance you might also switch IBL mode to "Light Probe + Cubemap".
- Keep light sources (preferably one light) but disable specular reflections from your IBL maps by switching IBL mode to "Light Probe" ( which provides only diffuse lighting).
Set IBL cubemap size to 256
Quick and easy, almost no quality harm, but makes your app less VRAM-hungry. See here.
Set View Transform to Standard
Blender only. Perhaps you didn't even know about the existence of this Blender setting... It's nothing serious, just minor FPS boost and minor reduction of the scene loading time. However, it is just a couple of clicks and brings you no quality harm (just slightly different scene look).
Don't use procedural textures
Except checker maps... The noise (and noise-like) textures are especially bad for performance - stick to the regular image textures with noise pattern.
No hardcore anti-aliasing
MSAA 16x is really bad for performance, use Auto, MSAA 4x, or FXAA. Disabling anti-aliasing altogether should be considered if you really don't mind about the quality.
Use ETC1S compression for all textures
You'll surely get some artifacts with this compression algorithm, but the memory and network bandwidth savings are truly enormous (check out the lamp)! The instructions are here.
Reduce amount of rendered pixels
This one is brutal. Use the set screen puzzle with value < 1. Start with 0.75 continue to 0.5.
Emission shading only
Absolute hardcore which can make your scene as fast as a lightning bolt. The idea is simple - bake everything to textures (ambient occlusion, lighting, diffuse) and use only emission shaders.
This is how good old 3D games were made back in 90-es. Don't worry about quality, though, since in 2020-es you have way more geometry and larger textures in your possession.