lavalink-devs / Lavalink

Standalone audio sending node based on Lavaplayer.
https://lavalink.dev/
MIT License
1.56k stars 673 forks source link

Allow usage of non-allocating frame buffers #1095

Closed devoxin closed 3 weeks ago

devoxin commented 3 weeks ago

This PR introduces a config option for toggling the use of non-allocating frame buffers.

In a high traffic environment, this can reduce pressure on the garbage collector by allowing each player to use a frame buffer specifically designed to reduce allocations by directly passing audio between byte buffers created at initialisation rather than when copying data outside of the player's control (i.e. user code). This should also have a positive effect by reducing CPU usage, thus increasing server performance.