UNIGINE's latest v2.19 update adds several optimizations for CPUs while also reducing memory requirements by a lot.
Unignine Revamps CPU & Memory Side With Major Optimizations In Latest v2.19 Release
[Press Release]:
Key Changes
- Multi-threaded renderer that significantly enhances CPU-side performance
- Engine startup loading optimization
- Major optimizations to reduce RAM usage
- Improved streaming system, including async node loading
- Support for OpenXR
- Upgraded character animation system (experimental)
- Support for USD format export
- Integration with .NET 8
- SpiderVision plugin for multi-monitor/curved screen image output
- Video streaming via WebRTC (experimental)
Engine Startup Loading Optimization
Meshes and properties are now loaded asynchronously in separate threads in parallel with materials having little to no impact on startup loading time, as it mainly depends on materials and File System initialization.
Loading of textures has also been optimized engaging more multithreading.
For a large-scale project with a lot of content, these optimizations bring an average startup loading speedup from x1.4 to x1.9.
By default, this mode is enabled (async_init=1) but you can switch it off if needed.
Streaming of Packages
We have improved archived data streaming performance (contents of UNG and ZIP archives) making it faster and more memory-efficient with an ability to read archived files partially (partial mapping) providing up to x1.2 loading boost at startup due to faster headers processing and less RAM consumption. This feature is only supported for non-compressed packages with no password protection, other packages are managed as before.
The UNG file format has been changed to support new functionality along with the removal of the 2Gb size limitation for the files inside the archive (the size limitation has been removed for non-UNG packages as well). Overall startup initialization performance has increased.
Old-style UNG archives are not supported in 2.19+ projects with an automatic migration tool available. However, automatic migration does not support password-protected UNG-archives, so you'll have to manually unpack them using a ung_x64 tool from the SDK version that was used for packing and repack them back in a new format using the ung_x64 tool from UNIGINE 2.19 SDK.
Async Loading of NodeReferences
Implemented deferred asynchronous loading for NodeReferences on loading a world providing an x1.3 world loading speedup and solving an issue with re-generating node IDs.
By default this mode is enabled (world_async_load_node_references=1) but you can switch it off if needed.
CPU Optimizations
Implemented a multithreaded DX12 renderer significantly enhancing CPU performance by efficiently utilizing the power of all its cores providing an x2 CPU performance gain. Multithreaded rendering mode imposes some limitations on actions that can be performed at run-time: e.g.: during the rendering phase you cannot change settings that have an impact on the rendering of surfaces (like render_distance_scale, etc.), parameters of materials assigned to surfaces, as well as parameters of objects having impact or rendering.
Follow Wccftech on Google to get more of our news coverage in your feeds.
