Release notes

What’s new

Core

Simple Opacity

The new Simple Opacity feature allows Gameface to render elements with opacity without the need to create temporary GPU textures at the cost of some visual differences. The feature can be used when the visual differences are an acceptable trade-off for some increased CPU performance and potentially reduced GPU memory. For more details, see the documentation for Simple Opacity

Rendering

GPU fill path tessellation

Fill paths in SVG’s will now be tessellated on the GPU if possible. The new tessellation algorithm yields a significant performance boost, which enables smoother animations of SVG’s. In our stress tests, we measured a 6-11x boost in performance, 100-400 Mb reduced CPU memory consumption, and an increase of 15-30 Mb of GPU memory usage.

Changelog

Version 1.58.0 - released 19 Sep 2024

Version 1.58.0


Released 19 Sep 2024
FeatureIntroduced a Simple Opacity feature that allows non-standard but optimized rendering of elements with CSS opacity. For more details, see the documentation for Simple Opacity
FeatureAdded support for font unloading
FeatureAdded support for the auxclick mouse event
FeatureEnabled the GPU path tesselator by default
EnhancementAdded support for media queries that contain at-rules
EnhancementAdded support for boolean media query expressions
EnhancementAdded support for the not keyword in media query expressions in a Media Query Level 3 compliant way, negating the whole query expression
EnhancementUnified mentions of Main/Game/DOM thread to UI thread in the native multithreading documentation
EnhancementUpdated Windows Redist libraries included in the package
EnhancementResource abort notifications are sent for streaming requests now as fonts can be unloaded
EnhancementRefactored the default profiling library so that flushing the profiling events to disk does not block other threads in the Development configuration. There’s also an explicit FlushProfiling L1 event for clarity
FixFixed potential memory corruption when using SVG style elements
FixReduced the size of the tvOS libraries by stripping most of the debug information
FixFixed a crash when using the internal profiling feature in long sessions running with L1 profiling level
FixFixed rare cases where the background color of the html and the body won’t be reset after removing their styles
FixFixed hover not working after toggling media rules with hover selectors
FixFixed leaking inactive resize observers, ones that are left without elements to observe or were disconnected
FixFixed race conditions related to loading glyphs, updating text atlas textures and managing pipeline state objects
FixFixed running debug Linux builds on distributions with libc++ 15+
FixFixed a regression causing transitions to malfunction when multiple transitions are used on a single element, but only some of the transitioned properties are changed
FixFixed a crash when delivering notifications to a disconnected MutationObserver