This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
performance_improvements [2013/07/11 18:14] cpillz [Thread consolidation] Added link to blog response re: threading |
performance_improvements [2015/06/11 04:54] (current) gdkar [Memory] |
||
---|---|---|---|
Line 77: | Line 77: | ||
* Currently loading <del>four</del> two copies of MP3 files into memory. (r2509 in 1.7 removes the second copy as soon as the Analyser is done with it, plugging a big leak.) | * Currently loading <del>four</del> two copies of MP3 files into memory. (r2509 in 1.7 removes the second copy as soon as the Analyser is done with it, plugging a big leak.) | ||
* <del>Vinyl control leaks part of the lookup table, or something like that when it gets deleted/recreated</del> | * <del>Vinyl control leaks part of the lookup table, or something like that when it gets deleted/recreated</del> | ||
- | * SoundSource's should use memory mapped IO. Making that cross platform is tricky. | + | * SoundSource's should use memory mapped IO. Making that cross platform is tricky. ( this is sort of questionable at the very least for compressed formats. mmap is trading immediate memory use for page faults and disk accesses at random points later ( if we expect all of the pages will eventually be touched, the physical memory usage at track-unload time will be the same for mmap vs. malloc+read. ) QFile::readAll is _quite_ easy to make cross-platform, and given that QByteArray is implicitly shared, would also make it easier to safely avoid the loading-two-or-more-copies-of-the-same-file problem mentioned above. --gdkar ) |