Skip to content

Releases: JetBrains/skiko

Version 0.9.0

19 Feb 17:40
96fba18
Compare
Choose a tag to compare
  • Improved CPU performance on Windows by replacing compiler to Clang #1020 (comment)
    • DirectX rendering FPS is 17 % higher
    • Software rendering FPS is 73 % higher
    • Skiko binary size is reduced from 16.7 to 12.1 Mb on x64 and from
      17.4 to 10.5 Mb on arm64

Version 0.8.25

05 Feb 16:04
eb1f04e
Compare
Choose a tag to compare
v0.8.25

Build skiko with skia@m132 (#1021)

Version 0.8.24

31 Jan 12:51
3c54c1b
Compare
Choose a tag to compare
Add clip mode and anti-alias options to RenderNode (#1018)

Required to fix https://youtrack.jetbrains.com/issue/CMP-7508

Test: covered by existing tests

Version 0.8.23

30 Jan 13:17
09dae79
Compare
Choose a tag to compare
Adoption of `RenderNode` approach (#1014)

It is a simplified adoption of Android's `RenderNode`.

```kt
/**
 * <p>RenderNode is used to build hardware accelerated rendering hierarchies. Each RenderNode
 * contains both a display list as well as a set of properties that affect the rendering of the
 * display list. RenderNodes are used internally for all Views by default and are not typically
 * used directly.</p>
 *
 * <p>RenderNodes are used to divide up the rendering content of a complex scene into smaller
 * pieces that can then be updated individually more cheaply. Updating part of the scene only needs
 * to update the display list or properties of a small number of RenderNode instead of redrawing
 * everything from scratch. A RenderNode only needs its display list re-recorded when its content
 * alone should be changed. RenderNodes can also be transformed without re-recording the display
 * list through the transform properties.</p>
 ```
 
 This is a more correct approach to make `GraphicsLayer` in Compose invalidation independently.
 - Moved drawing callback to C++ side to avoid extra interop costs
 - Switched from `SkPicture` placeholder to custom `SkDrawable` implementation

Version 0.8.22.1

14 Jan 16:27
0e03962
Compare
Choose a tag to compare
v0.8.22.1

Fix `PictureFilterCanvas` native bindings and add tests (#1011)

Version 0.8.22

14 Jan 10:56
c22b0fc
Compare
Choose a tag to compare
Add a way to replace picture placeholders during drawing (#1009)

New `PictureFilterCanvas` class that allows override picture rendering
during drawing

Required for
https://github.com/JetBrains/compose-multiplatform-core/pull/1766

Version 0.8.21

08 Jan 15:41
79f1d43
Compare
Choose a tag to compare
Set -mios-simulator-version-min=12.0 for skiko build (#1006)

This is an alternative (better) fix for
https://youtrack.jetbrains.com/issue/CMP-6721

Similar change is skia is required too:
https://github.com/JetBrains/skia-pack/pull/60

Version 0.8.19

03 Dec 14:56
dbc6bdb
Compare
Choose a tag to compare
v0.8.19

Build skiko.wasm with -s SUPPORT_LONGJMP=wasm (#1002)

Version 0.8.18

01 Nov 15:16
6d73ad7
Compare
Choose a tag to compare
v0.8.18

set skia to m126-6bfb13368b (#999)

Version 0.8.17

24 Oct 17:25
bbfaf62
Compare
Choose a tag to compare
Reuse the BufferedImage in SwingOffscreenRenderer (#996)

Fix for
https://youtrack.jetbrains.com/issue/CMP-6722/Excessive-garbage-generation-from-redrawing

Previously, the `draw` method would allocate a `BufferedImage` on every
redraw, which is wasteful. This fix changed `SwingOffscreenRenderer` to
reuse the same instance of `BufferedImage` and only clear it on redraws.
Only changing the draw size would allocate a new `BufferedImage`.