Release notes
On this page
Changelog
Version 1.47.0
Released 07 Nov 2023
Feature | Implemented ResizeObserver API |
Enhancement | Image-rendering support for border images |
Enhancement | Added support for copy and paste in the Elements tab of the Inspector |
Enhancement | HTML preloading now ignores query parameters from URLs when storing and serving HTML files from the cache |
Enhancement | Added support for the new rgb() functional notation syntax |
Enhancement | The maximum number of initiators for Recalculate Styles/Layout events defaults to 0 now. That’s because getting the initiators can skew the Inspector performance profiling results. Clients can set the maximum count manually by using the JavaScript engine.setInspectorInitatorsUpperBound(count) function. |
Enhancement | Added partial support for keyframe rules to the CSSStyleSheet.insertRule() API |
Enhancement | The Player uses the system OpenAL.framework on Mac OS |
Enhancement | Added documentation how mouse related behavior works when the mouse is idle |
EnhancementUnity | Add IVirtualAllocator implementation for Sony PlayStation |
EnhancementUnity | Add IVirtualAllocator implementation for Microsoft Windows and Xbox |
EnhancementUnity | Add IVirtualAllocator implementation for Nintendo Switch |
EnhancementUnity | Added support for binary messages in WebSocket implementation |
EnhancementUnreal Engine | Removed legacy code for controlling OnAssetSaved callbacks for atlases |
EnhancementUnreal Engine | Added IVirtualAllocator implementation for Microsoft Windows and Xbox |
EnhancementUnreal Engine | Added IVirtualAllocator implementation for Sony PlayStation 5 |
EnhancementUnreal Engine | Added IVirtualAllocator implementation for Nintendo Switch |
Fix | Fixed broken surface partitioning in evaluation builds |
Fix | Fixed accumulating memory caused by requestAnimationFrame callbacks |
Fix | Fixed assert when trying to draw background image on 0 background size |
Fix | Fixed assert for SVG properties passed to style.setProperty |
Fix | Fixed parser errors due to HTML tags in CSS comments |
Fix | Fixed infinite recursion when specifying default font family as one of the generic font family keywords |
Fix | Fixed OnUserImageDropped being called after rendering resources are freed |
FixUnity | Fixed crash when domain reloading is disabled in Unity |
FixUnity | Fixed crash on Xbox when the project quality is set to ‘Very Low’'' |
FixUnity | Fixed horizontal scroll touch gestures |
FixUnity | Fixed losing focus on input fields on platforms with virtual keyboards |
FixUnity | Ensure the proper disposal of the Library params object |
FixUnreal Engine | Added low level guard to prevent hitting a potential assert when loading Atlas textures |
What’s new
Rendering
Refined luminance calculation
The relative luminance function for color blending is now based on the BT.709
standard, which is used in Firefox and Chrome. Elements in with opacity now look more similar to Chrome and Firefox.
Migration guide
Adjusting luminance calculation in CohColorMixingPS
The relative luminance function in CohColorMixingPS.hlsl
has been updated to match the one used in Chrome/Firefox. The current W3C recommendation cites the BT.601
formula and has no mention of the formula, however, the BT.709
formula is used in Chromium for filtering (see RenderSurfaceFilters::BuildImageFilter
and GetGrayscaleMatrix
). If you would like to retain the old behavior and stay compliant to W3C, uncomment #define LUM_BT601
.
Before:
> CohColorMixingPS.hlsl
…
float Lum(float3 color)
{
return 0.3 * color.r + 0.59 * color.g + 0.11 * color.b;
}
…
After:
> CohColorMixingPS.hlsl
…
float Lum(float3 color)
{
return 0.2126f * color.r + 0.7152f * color.g + 0.0722f * color.b;
}
…
Pointer Compression on Sony PlayStation 5
Starting with this release, Prysm uses V8 Pointer Compression on Sony PlayStation 5. This feature provides up to 40% memory savings for the JavaScript heap and requires initializing Prysm library with an instance of the IVirtualAllocator
. A sample implementation is provided in Modules/Allocators.