This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Professional (SIM)
UnigineEditor
Interface Overview
Assets Workflow
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
Sandworm
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Built-in Node Types
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
Materials and Shaders
Rebuilding the Engine Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Content Creation
Content Optimization
Materials
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials

Streaming

This section contains settings related to resource streaming.

Streaming settings

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:
  • Asynchronous (by default)
  • Forced

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:
  • 8x8
  • 16x16 (by default)
  • 32x32
  • 64x64
  • 128x128
  • 256x256
  • 512x512

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.
Notice
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.
Disabled by default.
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.
Notice
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)
Notice
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.

Notice
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.
Notice
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.
Notice
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.
Notice
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-10-10
Build: ()