Release notes

What’s New

Rendering

Control over new Depth Stencil texture cache stats

Optimized GPU Memory Management for Depth Stencil Textures

By restructuring how Depth Stencil (DS) textures are managed, Gameface now enables efficient sharing of DS textures between render targets. Previously, one Depth Stencil texture was allocated per render target even though that isn’t always necessary. Now, as long as texture sizes and sample counts align, multiple render targets can share a single DS texture, significantly reducing memory usage. While the exact savings depend on the specific UI, on average, it achieves at least a 2x reduction in DS-related memory consumption. As a result, Gameface now allows control over the amount of Depth Stencil textures and their total size in bytes. Currently, the default DS textures byte capacity is 8MB, while their count can go up to 32. However, you can configure these to suit your needs using the new enumeration entry cohtml::InternalCaches::ICACHE_DepthStencilTextures with the View::QueueSetCacheCountSize and View::QueueSetCacheBytesSize APIs. The View::QueueClearCaches method can be used to clear the whole DS textures cache. Additionally, the View::GetCacheCountStats and View::GetCacheBytesStats functions can be used to retrieve the DS textures' capacity statistics. Renoir automatically maintains these limits by pruning excess textures at the end of each frame, ensuring that DS textures stay within the defined capacity and memory constraints.

Changelog

Version 1.62.0


Released 18 Dec 2024
APIAdded API for getting and setting the depth stencil textures cache
EnhancementIntroduced a new internal cache and reuse logic for depth-stencil textures
EnhancementAdded warning message when trying to set V8 flag --gc_interval in non-debug configurations
EnhancementAdded new trace events in the inspector that show the creation and destruction of depth-stencil textures
EnhancementUnreal EngineSupport for binary messages in Unreal Engine WebSockets integration
EnhancementUnreal EngineAdded a configurable API for safe zones and letterboxing
FixUnreal EngineFix a crash inside the TextToSpeach plugin that can use code from not yet loaded module
FixUnreal EngineFix shipping compilation due to FRHIBreadcrumbEventScope and FRHIBreadcrumbData not available in some configurations
FixFixed sizing of elements with relative units on viewport change
FixPrevent appending of elements in the constructor of a custom element