diff options
author | rmcilroy <rmcilroy@chromium.org> | 2014-11-05 16:56:00 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-11-06 00:56:37 +0000 |
commit | 321f924d52091bd19cbdf7397fb0764a574741ee (patch) | |
tree | 743528f91cffed7a4f2d66e1ba53624958fe8e48 /media/ffmpeg/ffmpeg_regression_tests.cc | |
parent | e0a32c5a4a62f48289471d3f9a6deb9332b773ac (diff) | |
download | chromium_src-321f924d52091bd19cbdf7397fb0764a574741ee.zip chromium_src-321f924d52091bd19cbdf7397fb0764a574741ee.tar.gz chromium_src-321f924d52091bd19cbdf7397fb0764a574741ee.tar.bz2 |
content: Add RendererScheduler.
This CL introduces a RendererScheduler which makes use of a
TaskQueueManager to schedule rendering tasks based upon
incoming events.
A RendererSchedulerSelector chooses the next queue to
service in the available TasksQueues by priority. The
RendererSchedulerSelector first looks at all queues with
the highest priority level, choosing the queue with the
oldest pending task. If these queues are empty, it then
performs the same process one level of priority lower.
Queues can be enabled / disabled and changed priority.
The RendererScheduler has three user accessible queues -
a default task queue, a compositor task queue and an
idle task queue. By default the default and compositor
task queues have normal priority, with the idle task queue
being disabled. The scheduler will enter scheduler priority
policy for a short time (100ms) after an input event,
during which the compositor tasks will have high priority.
Between frame times the scheduler will enable idle periods,
during which it enables scheduling of tasks in the idle
queue at a best effort priority (i.e., lower priority than
any other task).
The RendererScheduler also creates a non-user accessible
task queue called the control queue which is used to enable
posting of scheduling control operations on the main
thread. This queue has the highest priority, with tasks
always run before any user task. This queue is used to
enable thread-safe transitioning to the compositor priority
policy.
Design doc: https://docs.google.com/a/chromium.org/document/d/16f_RIhZa47uEK_OdtTgzWdRU0RFMTQWMpEWyWXIpXUo/edit
BUG=391005
Review URL: https://codereview.chromium.org/664963002
Cr-Commit-Position: refs/heads/master@{#302929}
Diffstat (limited to 'media/ffmpeg/ffmpeg_regression_tests.cc')
0 files changed, 0 insertions, 0 deletions