Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(700)

Unified Diff: cc/output/output_surface.h

Issue 199523002: cc: Throttle swaps in Scheduler instead of OutputSurface (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/output/output_surface.h
diff --git a/cc/output/output_surface.h b/cc/output/output_surface.h
index b751f06c9416b1ccfec2e2cb26ad723d6925fa4d..5280bcf7521d6936233d6abdbd2ed1e5f8040759 100644
--- a/cc/output/output_surface.h
+++ b/cc/output/output_surface.h
@@ -104,13 +104,13 @@ class CC_EXPORT OutputSurface : public FrameRateControllerClient {
// thread.
virtual bool BindToClient(OutputSurfaceClient* client);
+ // Enable or disable vsync.
+ void SetThrottleFrameProduction(bool enable);
+
void InitializeBeginImplFrameEmulation(
brianderson 2014/03/13 21:11:52 In the interest of simplifying OutputSurface, we c
base::SingleThreadTaskRunner* task_runner,
- bool throttle_frame_production,
base::TimeDelta interval);
- void SetMaxFramesPending(int max_frames_pending);
-
virtual void EnsureBackbuffer();
virtual void DiscardBackbuffer();
@@ -156,16 +156,15 @@ class CC_EXPORT OutputSurface : public FrameRateControllerClient {
scoped_ptr<SoftwareOutputDevice> software_device_;
gfx::Size surface_size_;
float device_scale_factor_;
+ base::TimeDelta begin_impl_frame_interval_;
// The FrameRateController is deprecated.
// Platforms should move to native BeginImplFrames instead.
void CommitVSyncParameters(base::TimeTicks timebase,
base::TimeDelta interval);
- virtual void FrameRateControllerTick(bool throttled,
- const BeginFrameArgs& args) OVERRIDE;
+ virtual void FrameRateControllerTick(const BeginFrameArgs& args) OVERRIDE;
scoped_ptr<FrameRateController> frame_rate_controller_;
- int max_frames_pending_;
- int pending_swap_buffers_;
+ bool throttle_frame_production_;
bool needs_begin_impl_frame_;
bool client_ready_for_begin_impl_frame_;
@@ -200,6 +199,8 @@ class CC_EXPORT OutputSurface : public FrameRateControllerClient {
void SetMemoryPolicy(const ManagedMemoryPolicy& policy);
void UpdateAndMeasureGpuLatency();
+ bool is_lost_;
+
// check_for_retroactive_begin_impl_frame_pending_ is used to avoid posting
// redundant checks for a retroactive BeginImplFrame.
bool check_for_retroactive_begin_impl_frame_pending_;

Powered by Google App Engine
This is Rietveld 408576698