Skip to content

v0.8.1

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Oct 22:31
· 1 commit to main since this release

keyline 0.8.1 uses far less memory when it renders animation and video, and renders them faster. Nothing changes in how you use it.

Less memory

A server that had rendered a video kept hundreds of megabytes long after it finished, and on Linux the total grew with every render. Measured with a 10-second 1080p clip rendered at three sizes, five times, then left idle:

0.8.0 0.8.1
Linux, 1 core 840 MB 21 MB
Linux, 14 cores 947 MB 82 MB
Windows, 4 cores 152 MB 24 MB
  • Fonts are read once and shared by every frame. Before, each frame copied every font, and the copies stayed in memory.
  • A photo in an animation is decoded once, not once per frame.
  • On Linux, finished frames go straight back to the system instead of staying with the process.
  • On macOS, the system keeps finished frames cached and takes them back when it runs short of memory, so the server can still show around 400 MB after a video.

Faster

  • Video renders take about 40% less time on one core (98 s to 58 s for the clip above) and 20–50% less on many cores; the more fonts installed, the bigger the gain.
  • With fewer cores than sizes, sizes render one after another instead of competing for the same cores.

Also

  • keyline-mcp render no longer leaves a copy of each scene and its files in the data folder. They used to pile up: 877 MB on one machine.