summaryrefslogtreecommitdiffstats
path: root/cc/output_surface.h
diff options
context:
space:
mode:
authorepenner@chromium.org <epenner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-23 03:22:15 +0000
committerepenner@chromium.org <epenner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-23 03:22:15 +0000
commit34351ccaf33b4201990387a3c7e1e8719b4c8fbf (patch)
tree17e343500a2c5c64796d2cf94840ba2c9ff25963 /cc/output_surface.h
parenteba04f08da9daae5f2cd4e6dee6f5547c9c60b43 (diff)
downloadchromium_src-34351ccaf33b4201990387a3c7e1e8719b4c8fbf.zip
chromium_src-34351ccaf33b4201990387a3c7e1e8719b4c8fbf.tar.gz
chromium_src-34351ccaf33b4201990387a3c7e1e8719b4c8fbf.tar.bz2
cc: Reduce renderer_main thread priority when prefer_smoothness is set
This tracks how many compositors prefer smooth frame-rate, and throttles/resets the main thread's priority as appropriate. Compositors in the same process share the same thread, so we track this count in a static int. All thread priorities use #ifdefs for reduced risk and easier merging. This needs to be abstracted and enabled on other platforms (http://crbug.com/170549) BUG=164651 Review URL: https://chromiumcodereview.appspot.com/12026004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@178225 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/output_surface.h')
-rw-r--r--cc/output_surface.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/cc/output_surface.h b/cc/output_surface.h
index 4906ec3..4bc3180 100644
--- a/cc/output_surface.h
+++ b/cc/output_surface.h
@@ -57,6 +57,10 @@ class CC_EXPORT OutputSurface : public WebKit::WebCompositorOutputSurface {
// capabilities().has_parent_compositor. The implementation may destroy or
// steal the contents of the CompositorFrame passed in.
virtual void SendFrameToParentCompositor(CompositorFrame*) = 0;
+
+ // Notifies frame-rate smoothness preference. If true, all non-critical
+ // processing should be stopped, or lowered in priority.
+ virtual void UpdateSmoothnessTakesPriority(bool prefer_smoothness) {}
};
} // namespace cc