Web Platform: Added support for a multi-threaded version.
(2) Interface Changes
Android and iOS Platforms: Added interfaces to set and read alpha values for PAGLayer.
(3) Performance Optimization
Upgraded tgfx to version 2.1.1, achieving significant performance improvements: 10x faster for basic graphics rendering (e.g., Rect) and 20x faster for text rendering.
Key Optimizations:
Switched to a lock-free queue, enabling unlimited task scheduling.
Added text atlas rendering and fast bounds estimation capabilities to improve text rendering performance.
Fully adopted SIMD instructions for faster mathematical computations.
Refactored the entire rendering pipeline to determine mergeability early, avoiding frequent creation and destruction of rendering objects.
Introduced memory pool optimization to centralize memory allocation for temporary objects, reducing heap memory overhead.
Automatic downgrade caching for ultra-large images (e.g., 4K) was added to reduce memory usage.
(4) Package Size Optimization
Web Platform: Removed ASYNCIFY compilation parameter, reducing package size by 25%. Replaced the Web Worker version with a native pthread multi-threaded version.
(5) Feature Improvements and Stability Enhancements
Web Platform: Refactored frame rendering logic to handle video decoding asynchronously.
Web Platform: Fixed incorrect PAGLayer type issue when RTTI is disabled.
Web Platform: Fixed errors when calling replaceImage and other interfaces.
Web Platform: Fixed the issue where readPixels returned empty results.
Fixed the incorrect scaling mode issue caused by File::editableImages being nullptr when all image layers are editable.