This website requires JavaScript.
Explore
Help
Sign in
sam
/
sfizz
Watch
1
Star
0
Fork
You've already forked sfizz
0
Code
Issues
Pull requests
Projects
Releases
Packages
Wiki
Activity
Actions
2883
commits
1
branch
0
tags
23
MiB
f063062f7c
Commit graph
3 commits
Author
SHA1
Message
Date
Jean Pierre Cimalando
f063062f7c
Make a separate target for sfizz::internal, for tests and benchmarks
2020-12-14 13:49:36 +01:00
Paul Ferrand
d35ff4eb42
Add a volatile on the stop flag in the thread pool
2020-10-07 00:37:31 +02:00
Paul Ferrand
8ee4105b39
Deep change of the background loadingThe goal was to reduce the number of background threads in big sessions (multiple instances) and avoid loading the same file alot on repeated notes (e.g. drum tracks).- All instances use a common thread pool- Each instance has a dispatching job that starts background loader, and a garbage job that clears data that has been unused for some time- The "FilePromise" object has disappeared. Upon request, Voices get a very thin reference-counting handler to the file data. When the handler is released the reference count is decreased and a "last used" timestamp is added to the file.- The background file loading job checks i) if the file is already loaded, or ii) if some other thread is already loading it. If any case is validated, it exits assuming the background loading is already happening.- The garbage job has to be triggered regularly by e.g. the synth. In the RT thread the triggerGarbageCollection() method will check the list of previously loaded file Ids to see if any has not been used for a while. If so, the memory is set to be discarded by a background thread, otherwise it'll wait for the next ping.Only tested on Linux for now.
2020-10-07 00:37:31 +02:00