- 26 Jul, 2020 1 commit
-
-
David Reid authored
-
- 25 Jul, 2020 16 commits
-
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
This commit changes synchronous decoding so that the calling thread is the one which performs the decoding. Previously, decoding was done on the job threads which was then waited on by an event on the calling thread. The rationale for this design was to keep decoding on a single code path, however this creates a problem for programs that would prefer not to have any asynchronous job threads. In this case, these synchronously decoded sounds would never get decoded because there would not be any threads available to actually perform the decoding. This commit enables the resource manager to be able to be used without a job thread so long as asynchronous decoding and streaming are not used. This scenario could be useful for programs that want to pre-load all of their sounds at load time and save some system resources by not incurring the overhead of an additional unnecessary thread.
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
- 23 Jul, 2020 8 commits
-
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
- 22 Jul, 2020 3 commits
-
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
- 20 Jul, 2020 1 commit
-
-
David Reid authored
-
- 19 Jul, 2020 2 commits
-
-
David Reid authored
This new system is used for asynchronous decoding of sound data. The main improvement with this one over the old one is the ability to do multi-producer, multi-consumer lock-free posting of messages which means multiple threads can be used to process jobs simultaneously rather than a single thread processing all jobs serially. Decoding is inherently serial which means multiple job threads is only useful when decoding multiple sounds. Each individual sound will be decoded serially. Another change with this commit is the ability for applications to control whether or not the resource manager manages it's own job threads. This is useful if an application wants to manage the job queue themselves if, for example, they want to integrate it more closely with their existing job system.
-
David Reid authored
-
- 18 Jul, 2020 2 commits
-
-
David Reid authored
-
David Reid authored
-
- 17 Jul, 2020 6 commits
-
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
- 16 Jul, 2020 1 commit
-
-
David Reid authored
-