UNIGINE 2.19 Adds Major Optimizations: Significantly Enhances CPU Performance, Reduced Ram Use, & More

UNIGINE 2.19 Adds Major Optimizations: Significantly Enhances CPU Performance, Reduced Ram Use, & More

 0
UNIGINE 2.19 Adds Major Optimizations: Significantly Enhances CPU Performance, Reduced Ram Use, & More
UNIGINE 2.19 Adds Major Optimizations: Significantly Enhances CPU Performance, Reduced Ram Use, & More 1

UNIGINE's latest v2.19 update adds several optimizations for CPUs while also reducing memory requirements by a lot.

[Press Release]:

  • 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)
  • 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.

    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.

    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.

    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.

    Enhanced the UNIGINE allocator to improve management of RAM and VRAM allocations for an application, resulting in faster and more efficient allocation processes. The updated allocator features static and dynamic memory pools for optimized allocation and gathers statistics for small allocations to prevent memory leaks. Average reduction of the number of allocations comprises 15 times, saving up to hundreds of megabytes of RAM for a large-scale project.

    A major Streaming System update has improved memory management, reduced overall memory consumption, and reduced spikes. New streaming settings have been added replacing the old ones, meaning that you'll have to re-adjust the streaming configuration.

    Mipmap streaming solution has also been implemented for textures, so the textures cache became unnecessary and will be removed in 2.19. The texture streaming system will now manage everything automatically, no additional user actions are required.

    Streaming of Skinned Meshes has also been improved. API has changed with all functions related to mesh animations moved from the Mesh class to a new MeshAnimation class. Some manual code migration is required in this respect (for more details see API Migration Guide).

    A huge pack of minor optimizations here and there will bring even more RAM savings.

    Optimized memory consumption reduces memory consumption increases for long-time running applications.

    [Journalist Note]: UNIGINE's latest 2.19 update brings plenty of enhancements to the cross-platform game engine, apart from the ones mentioned above. These allow developers to scale up their projects, especially with performance optimizations, affecting components all across the build machine.

    What's Your Reaction?

    like

    dislike

    love

    funny

    angry

    sad

    wow