glvdebug: Move QReplayWorker into a separate thread.
authorPeter Lohrmann <peterl@valvesoftware.com>
Thu, 26 Feb 2015 18:51:36 +0000 (10:51 -0800)
committerPeter Lohrmann <peterl@valvesoftware.com>
Fri, 27 Feb 2015 01:06:58 +0000 (17:06 -0800)
commiteeb77b76a815d6b534670764089f819fd5f8d2b1
tree3cd0a8122ce6b7b5210dcdda7b1c46aebd8e40a1
parent424f797a78a0c4da7244136647e80d13e152eeab
glvdebug: Move QReplayWorker into a separate thread.

* In order to achieve this correctly, the QController could not inherit from the QReplayWorker; instead the controller now has a worker object. The QReplayWidget puts the worker on a separate thread.
* Any interaction between the QReplayWorker and the rest of the UI must be done through Qt's signals and slots, which knows how to pass data between threads.
* Performance of replaying within the UI is now on-par with replaying using glvreplay64 from the command line, based on the cube demo. Increasing the validation level will slow down the replay preformance (as expected), and printing of validation messages will also slow down replay performance (as expected).
glave-generate.py