Streaming
This section contains settings related to resource streaming.
Streaming Settings
Render Budget |
The render budget value, in seconds, which limits the number of loaded/created graphics resources during a frame according to loading/creation time. Range of values: [0.0f, inf]. The default value is 1/60. Console access: render_budget (API control) |
---|---|
Mode |
The streaming mode to be used for textures and meshes. The Forced mode implies force-loading of all meshes and/or textures required for each frame at once and can be used for grabbing frame sequences, rendering node previews, warmup, etc. One of the following values:
Console access: render_streaming_mode (API control) |
Use Memory Limit |
The value indicating if memory limitation for asynchronous resource loading (streaming of meshes and textures) is enabled. If enabled, applies the memory limits set for meshes, textures, and particles. enabled by default.
Console access: render_streaming_use_memory_limit (API control) |
Texture Cache Resolution |
The resolution for texture cache elements. These minimized copies of textures are used instead of the originals while the latter are loaded. One of the following values:
Console access: render_streaming_textures_cache_resolution (API control) |
Preload at World Loading#
Shaders |
The value indicating if all shaders that are used in the loaded world are compiled and loaded to RAM every time the world is loaded.
Pre-loading shaders results in significant memory consumption. It is recommended to use pre-generated shaders cache instead when possible (see the shaders_create command). In this case necessary shaders are loaded from cache to RAM on demand. Console access: render_shaders_preload (API control) |
---|
Memory Usage#
Meshes Memory Limit |
The cache memory limit used for mesh streaming. The limit is applied if the corresponding option is enabled. Range of values: [0, 100]. The default value is 15. Console access: render_streaming_meshes_memory_limit (API control) |
---|---|
Textures Memory Limit |
The cache memory limit used for texture streaming. The limit is applied if the corresponding option is enabled. Range of values: [0, 100]. The default value is 65. Console access: render_streaming_textures_memory_limit (API control) |
Particles Memory Limit |
The cache memory limit for vertices of particle systems, in percentage of the total GPU memory. The limit is applied if the corresponding option is enabled. Setting a too low limit for a huge number of particle systems in the scene may lead to rendering only some of them. Range of values: [0, 100]. The default value is 3. Console access: render_streaming_particles_memory_limit (API control) |
Resources#
Destroy Duration |
The resource cleanup interval, in number of frames. Range of values: [1, 300]. The default value is 30. Console access: render_streaming_destroy_duration (API control) |
---|
The graphic resources are regularly checked for being modified in order to be reloaded or deleted.
For OpenGL Only#
The settings below are available for OpenGL API only.
These parameters should be carefully adjusted for each particular case and configuration as they are heavily dependent on hardware and driver used.
Async Buffer | Size of an intermediate buffer (between the CPU and new resource) used for mesh and texture streaming, in Mb. The size of this buffer must be equal to the size of the largest resource (mesh/texture), otherwise in case of a larger resource, the buffer will be resized causing a spike. Be aware, that the size of this intermediate buffer will be added to total memory consumption. |
---|---|
Async Buffer Indices | Size of an intermediate buffer, analogous to the Async Buffer above, used for mesh streaming (to store vertex indices of meshes), in Mb. Be aware, that the size of this intermediate buffer will be added to total memory consumption. |
Async Buffer Synchronization | Enable buffer synchronization for transferring data from the streaming thread to the main one. When disabled, both async buffer and async buffer for indices are created anew each time. This reduces the number of buffer synchronizations but increases the number of memory allocations. Sometimes (depending on the hardware/driver used, e.g. when the main thread is affected by sychronization primitives in other threads) memory allocation may be faster than synchronizations, in such cases, when streaming becomes unacceptably slow, it is recommended to disable buffer synchronization. |
Last update:
2022-12-14
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)