diff options
author | clayjohn <claynjohn@gmail.com> | 2022-06-20 21:56:26 -0700 |
---|---|---|
committer | clayjohn <claynjohn@gmail.com> | 2022-10-06 11:24:45 -0700 |
commit | 154b9c1c913ee04b603989db8664481d4df1aaee (patch) | |
tree | 6cc754761fb942a4931b63e052c583cfd951b112 /servers/rendering_server.cpp | |
parent | 0c23a2cfe3ad897e1e49008629c135764b2c155c (diff) | |
download | redot-engine-154b9c1c913ee04b603989db8664481d4df1aaee.tar.gz |
Use a giant UBO to optimize performance in 2D
This removes the countless small UBO writes we had before
and replaces them with a single large write per render pass.
This results in much faster rendering on low-end devices
but improves speed on all devices.
Diffstat (limited to 'servers/rendering_server.cpp')
-rw-r--r-- | servers/rendering_server.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/servers/rendering_server.cpp b/servers/rendering_server.cpp index 750121719f..627cd9f062 100644 --- a/servers/rendering_server.cpp +++ b/servers/rendering_server.cpp @@ -2875,6 +2875,10 @@ void RenderingServer::init() { GLOBAL_DEF("rendering/rendering_device/staging_buffer/texture_upload_region_size_px", 64); GLOBAL_DEF("rendering/rendering_device/descriptor_pools/max_descriptors_per_pool", 64); + // Number of commands that can be drawn per frame. + GLOBAL_DEF_RST("rendering/gl_compatibility/item_buffer_size", 16384); + ProjectSettings::get_singleton()->set_custom_property_info("rendering/gl_compatibility/item_buffer_size", PropertyInfo(Variant::INT, "rendering/gl_compatibility/item_buffer_size", PROPERTY_HINT_RANGE, "1024,1048576,1")); + GLOBAL_DEF("rendering/shader_compiler/shader_cache/enabled", true); GLOBAL_DEF("rendering/shader_compiler/shader_cache/compress", true); GLOBAL_DEF("rendering/shader_compiler/shader_cache/use_zstd_compression", true); |