diff options
author | 2013-10-16 13:02:15 +0000 | |
---|---|---|
committer | 2013-10-16 13:02:15 +0000 | |
commit | d36522d12d3e71958e50683a7eef43dc2a47d96d (patch) | |
tree | 3645838c92e0144a6e70984edb74ce0c7c3bd829 /dm/DMTaskRunner.h | |
parent | beede90eae4b76b97722d5f576ea5cb81df98af7 (diff) |
dm is like gm, but faster and with fewer features.
This is sort of the near-minimal proof-of-concept skeleton.
- It can run existing GMs.
- It supports most configs (just not PDF).
- --replay is the only "fancy" feature it currently supports
Hopefully you will be disturbed by its speed.
BUG=
R=epoger@google.com
Review URL: https://codereview.chromium.org/22839016
git-svn-id: http://skia.googlecode.com/svn/trunk@11802 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'dm/DMTaskRunner.h')
-rw-r--r-- | dm/DMTaskRunner.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/dm/DMTaskRunner.h b/dm/DMTaskRunner.h new file mode 100644 index 0000000000..5d7b320d6c --- /dev/null +++ b/dm/DMTaskRunner.h @@ -0,0 +1,28 @@ +#ifndef DMTaskRunner_DEFINED +#define DMTaskRunner_DEFINED + +#include "SkThreadPool.h" +#include "SkTypes.h" + +// TaskRunner runs Tasks on one of two threadpools depending on the Task's usesGpu() method. +// This lets us drive the GPU with a small number of threads (e.g. 2 or 4 can be faster than 1) +// while not swamping it with requests from the full fleet of threads that CPU-bound tasks run on. + +namespace DM { + +class Task; + +class TaskRunner : SkNoncopyable { +public: + TaskRunner(int cputhreads, int gpuThreads); + + void add(Task* task); + void wait(); + +private: + SkThreadPool fMain, fGpu; +}; + +} // namespace DM + +#endif // DMTaskRunner_DEFINED |