Skip to content

v2.1.1

Latest

Choose a tag to compare

@domchen domchen released this 26 Sep 14:46
· 79 commits to main since this release
6fa1670

What's Changed

New Features

  • Introduce RuntimeEffect::NextProgramID() to prevent programID conflicts between RuntimeEffect subclasses.
  • Prioritize larger Tiles over closer ones in DisplayList for improved rendering quality.
  • Use nearest-neighbor sampling for textures to address blurriness in path and text drawing.
  • Export FilterImage and PictureImage as bitmaps in SVGs, rather than SVG elements.

Performance Improvements

  • Implement HardwareBuffer texture support for text atlases.
  • Cache viewport, scissor, program, binding states, and blend states to minimize redundant GL calls.
  • Exclude layers outside the visible area in Layer::draw for improved rendering efficiency.
  • Set the minimum decoded image size to 1/8 of the original to optimize memory usage.
  • Avoid drawing layers to the background context when no background blur is needed.
  • Add support for drawScale arguments in the Gaussian blur filter to enable rendering at reduced sizes.
  • Fix performance issue caused by deleting tile caches before checking for zoom blur reuse.

Bug Fixes

  • Fixed a crash by ensuring each atlas cell buffer is aligned to a 4-byte boundary.
  • Fixed a memory leak by properly releasing hardware buffer references.
  • Fixed an issue where italic text was not rendering correctly.
  • Fix drop shadow offset calculation error in PDF export.
  • Fix issue where RRect cannot be drawn when DeviceBounds are needed but LocalBounds are not.
  • Fix macro definition conflicts caused by Qt5 on Windows.
  • Correct shader code generation for blend modes.
  • Fix issue where TiledTextureEffect does not add Subset when using ClampToBorderNearest.
  • Fix issue where Image::lockTextureProxy may obtain a TextureProxy with inconsistent backingFit.
  • Fix dirty region calculation issues when Layer has LayerStyle or Filter.
  • Fixed incorrect stroke width by properly applying shape matrix scaling.
  • Fix infinite loop in DisplayList::getFallbackDrawTasks().
  • Add [NSOpenGLContext clearCurrentContext] to properly release OpenGL context.
  • Fix precision errors caused by float calculations for backingSize.
  • Fix issue where syncCpu in Context::submit may not work in certain cases.
  • Resolve shader compilation failure due to incorrect OES texture extension string with GLES 3.0.
  • Fix compilation issue for unused code in Web platform Release build.