mirror of
https://github.com/mpv-player/mpv
synced 2025-01-01 04:12:25 +00:00
9fbe000451
when using the bundle with activated big enough cache, very slow and wasteful memory allocations lead to jittery playback and lot of dropped frames. the cache had to have a certain size so it would constantly allocate new memory to reproduce this. this never happens when started from the terminal. the source of the problem is a different malloc allocation policy, MALLOC_NANO, that allocated a huge amount of virtual memory without actually using it. the usage was between 0% to 25% of that virtual memory. the binaries allocation policy on the other hand used >80% of that allocated virtual memory and was a lot more efficient, it would use MALLOC_TINY instead. this is fixed by setting the MallocNanoZone environment variable to 0 to use the V1 of the allocation policy. when started from the bundle via launchd this is forced to 1 and V2 policy which causes this problem. some more info can be found in following file and its comments on the Apple open source site: https://opensource.apple.com/source/libmalloc/libmalloc-317.40.8/src/nano_malloc_common.c.auto.html Fixes #7405 |
||
---|---|---|
.. | ||
lua | ||
mpv-osd-symbols.sfdir | ||
osxbundle/mpv.app/Contents | ||
__init__.py | ||
appveyor-build.sh | ||
appveyor-install.sh | ||
dylib-unhell.py | ||
file2string.py | ||
gen-osd-font.sh | ||
idet.sh | ||
matroska.py | ||
mpv_identify.sh | ||
osxbundle.py | ||
stats-conv.py | ||
travis-deps | ||
travis-rebuild-website | ||
umpv | ||
uncrustify.cfg |