diff options
author | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2025-02-20 15:41:35 +0000 |
---|---|---|
committer | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2025-02-20 16:52:22 +0100 |
commit | 51b0c3239265ddee2d1bf445f873299cc8193ab9 (patch) | |
tree | 358a2881ce101cd0f96c31cb21694d3451d96046 /NEWS | |
parent | 5c12ec8153cd401a99f505e39389f8450a625eab (diff) | |
download | mana-51b0c3239265ddee2d1bf445f873299cc8193ab9.tar.gz mana-51b0c3239265ddee2d1bf445f873299cc8193ab9.tar.bz2 mana-51b0c3239265ddee2d1bf445f873299cc8193ab9.tar.xz mana-51b0c3239265ddee2d1bf445f873299cc8193ab9.zip |
Fixed stutter when new music starts playing
This is a workaround for a performance issue when SDL_mixer is using
stb_vorbis. Since stb_vorbis will request the file one byte at a time,
the overhead of using SDL_RWops to call PHYSFS_readBytes is too high.
Solved by introducing a buffered SDL_RWops wrapper with a fixed 2048
byte buffer. This is a more optimal solution than loading the entire OGG
file in memory. Now starting a new song takes less than 1ms, when the
OGG file isn't compressed (almost down to 0.2ms when SDL_mixer uses
libvorbisfile).
See https://github.com/libsdl-org/SDL_mixer/issues/670
Closes https://git.themanaworld.org/mana/mana/-/issues/93
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -59,6 +59,7 @@ - Fixed choosing default world when using -D command-line parameter - Fixed storing of player relations - Fixed handling of custom port in update URL +- Fixed stutter when new music starts playing - Updated to tmwAthena protocol changes - Updated to Manaserv protocol changes (specials, guilds, debug mode, skills, text particles) - CMake: Use GNUInstallDirs and made PKG_DATADIR / PKG_BINDIR paths modifiable |