Repository navigation
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 renderno longer leaves a copy of each scene and its files in the data folder. They used to pile up: 877 MB on one machine.