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

Side by Side Diff: cc/trees/thread_proxy.h

Issue 23796002: cc: Implement deadine scheduling disabled by default (Closed) Base URL: http://git.chromium.org/chromium/src.git@schedReadback4
Patch Set: Created 7 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CC_TREES_THREAD_PROXY_H_ 5 #ifndef CC_TREES_THREAD_PROXY_H_
6 #define CC_TREES_THREAD_PROXY_H_ 6 #define CC_TREES_THREAD_PROXY_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 virtual void AcquireLayerTextures() OVERRIDE; 62 virtual void AcquireLayerTextures() OVERRIDE;
63 virtual void ForceSerializeOnSwapBuffers() OVERRIDE; 63 virtual void ForceSerializeOnSwapBuffers() OVERRIDE;
64 virtual scoped_ptr<base::Value> AsValue() const OVERRIDE; 64 virtual scoped_ptr<base::Value> AsValue() const OVERRIDE;
65 virtual bool CommitPendingForTesting() OVERRIDE; 65 virtual bool CommitPendingForTesting() OVERRIDE;
66 virtual scoped_ptr<base::Value> SchedulerStateAsValueForTesting() OVERRIDE; 66 virtual scoped_ptr<base::Value> SchedulerStateAsValueForTesting() OVERRIDE;
67 67
68 // LayerTreeHostImplClient implementation 68 // LayerTreeHostImplClient implementation
69 virtual void DidLoseOutputSurfaceOnImplThread() OVERRIDE; 69 virtual void DidLoseOutputSurfaceOnImplThread() OVERRIDE;
70 virtual void OnSwapBuffersCompleteOnImplThread() OVERRIDE; 70 virtual void OnSwapBuffersCompleteOnImplThread() OVERRIDE;
71 virtual void BeginFrameOnImplThread(const BeginFrameArgs& args) OVERRIDE; 71 virtual void BeginFrameOnImplThread(const BeginFrameArgs& args) OVERRIDE;
72 virtual void DidBeginFrameDeadlineOnImplThread() OVERRIDE;
72 virtual void OnCanDrawStateChanged(bool can_draw) OVERRIDE; 73 virtual void OnCanDrawStateChanged(bool can_draw) OVERRIDE;
73 virtual void NotifyReadyToActivate() OVERRIDE; 74 virtual void NotifyReadyToActivate() OVERRIDE;
74 virtual void SetNeedsRedrawOnImplThread() OVERRIDE; 75 virtual void SetNeedsRedrawOnImplThread() OVERRIDE;
75 virtual void SetNeedsRedrawRectOnImplThread(gfx::Rect dirty_rect) OVERRIDE; 76 virtual void SetNeedsRedrawRectOnImplThread(gfx::Rect dirty_rect) OVERRIDE;
76 virtual void DidInitializeVisibleTileOnImplThread() OVERRIDE; 77 virtual void DidInitializeVisibleTileOnImplThread() OVERRIDE;
77 virtual void SetNeedsCommitOnImplThread() OVERRIDE; 78 virtual void SetNeedsCommitOnImplThread() OVERRIDE;
78 virtual void PostAnimationEventsToMainThreadOnImplThread( 79 virtual void PostAnimationEventsToMainThreadOnImplThread(
79 scoped_ptr<AnimationEventsVector> queue, 80 scoped_ptr<AnimationEventsVector> queue,
80 base::Time wall_clock_time) OVERRIDE; 81 base::Time wall_clock_time) OVERRIDE;
81 virtual bool ReduceContentsTextureMemoryOnImplThread(size_t limit_bytes, 82 virtual bool ReduceContentsTextureMemoryOnImplThread(size_t limit_bytes,
(...skipping 16 matching lines...) Expand all
98 virtual DrawSwapReadbackResult ScheduledActionDrawAndReadback() OVERRIDE; 99 virtual DrawSwapReadbackResult ScheduledActionDrawAndReadback() OVERRIDE;
99 virtual void ScheduledActionCommit() OVERRIDE; 100 virtual void ScheduledActionCommit() OVERRIDE;
100 virtual void ScheduledActionUpdateVisibleTiles() OVERRIDE; 101 virtual void ScheduledActionUpdateVisibleTiles() OVERRIDE;
101 virtual void ScheduledActionActivatePendingTree() OVERRIDE; 102 virtual void ScheduledActionActivatePendingTree() OVERRIDE;
102 virtual void ScheduledActionBeginOutputSurfaceCreation() OVERRIDE; 103 virtual void ScheduledActionBeginOutputSurfaceCreation() OVERRIDE;
103 virtual void ScheduledActionAcquireLayerTexturesForMainThread() OVERRIDE; 104 virtual void ScheduledActionAcquireLayerTexturesForMainThread() OVERRIDE;
104 virtual void DidAnticipatedDrawTimeChange(base::TimeTicks time) OVERRIDE; 105 virtual void DidAnticipatedDrawTimeChange(base::TimeTicks time) OVERRIDE;
105 virtual base::TimeDelta DrawDurationEstimate() OVERRIDE; 106 virtual base::TimeDelta DrawDurationEstimate() OVERRIDE;
106 virtual base::TimeDelta BeginFrameToCommitDurationEstimate() OVERRIDE; 107 virtual base::TimeDelta BeginFrameToCommitDurationEstimate() OVERRIDE;
107 virtual base::TimeDelta CommitToActivateDurationEstimate() OVERRIDE; 108 virtual base::TimeDelta CommitToActivateDurationEstimate() OVERRIDE;
109 virtual void PostBeginFrameDeadline(const base::Closure& closure,
110 base::TimeTicks deadline) OVERRIDE;
108 111
109 // ResourceUpdateControllerClient implementation 112 // ResourceUpdateControllerClient implementation
110 virtual void ReadyToFinalizeTextureUpdates() OVERRIDE; 113 virtual void ReadyToFinalizeTextureUpdates() OVERRIDE;
111 114
112 private: 115 private:
113 ThreadProxy(LayerTreeHost* layer_tree_host, 116 ThreadProxy(LayerTreeHost* layer_tree_host,
114 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner); 117 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner);
115 118
116 struct BeginFrameAndCommitState { 119 struct BeginFrameAndCommitState {
117 BeginFrameAndCommitState(); 120 BeginFrameAndCommitState();
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 scoped_ptr<OutputSurface> first_output_surface_; 211 scoped_ptr<OutputSurface> first_output_surface_;
209 212
210 base::WeakPtrFactory<ThreadProxy> weak_factory_on_impl_thread_; 213 base::WeakPtrFactory<ThreadProxy> weak_factory_on_impl_thread_;
211 214
212 base::WeakPtr<ThreadProxy> main_thread_weak_ptr_; 215 base::WeakPtr<ThreadProxy> main_thread_weak_ptr_;
213 base::WeakPtrFactory<ThreadProxy> weak_factory_; 216 base::WeakPtrFactory<ThreadProxy> weak_factory_;
214 217
215 scoped_ptr<LayerTreeHostImpl> layer_tree_host_impl_; 218 scoped_ptr<LayerTreeHostImpl> layer_tree_host_impl_;
216 219
217 scoped_ptr<Scheduler> scheduler_on_impl_thread_; 220 scoped_ptr<Scheduler> scheduler_on_impl_thread_;
221 bool frame_did_draw_;
218 222
219 // Set when the main thread is waiting on a 223 // Set when the main thread is waiting on a
220 // ScheduledActionSendBeginFrameToMainThread to be issued. 224 // ScheduledActionSendBeginFrameToMainThread to be issued.
221 CompletionEvent* 225 CompletionEvent*
222 begin_frame_sent_to_main_thread_completion_event_on_impl_thread_; 226 begin_frame_sent_to_main_thread_completion_event_on_impl_thread_;
223 227
224 // Set when the main thread is waiting on a readback. 228 // Set when the main thread is waiting on a readback.
225 ReadbackRequest* readback_request_on_impl_thread_; 229 ReadbackRequest* readback_request_on_impl_thread_;
226 230
227 // Set when the main thread is waiting on a commit to complete. 231 // Set when the main thread is waiting on a commit to complete.
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 // activation_duration_history_. 268 // activation_duration_history_.
265 base::TimeTicks begin_frame_sent_to_main_thread_time_; 269 base::TimeTicks begin_frame_sent_to_main_thread_time_;
266 base::TimeTicks commit_complete_time_; 270 base::TimeTicks commit_complete_time_;
267 271
268 DISALLOW_COPY_AND_ASSIGN(ThreadProxy); 272 DISALLOW_COPY_AND_ASSIGN(ThreadProxy);
269 }; 273 };
270 274
271 } // namespace cc 275 } // namespace cc
272 276
273 #endif // CC_TREES_THREAD_PROXY_H_ 277 #endif // CC_TREES_THREAD_PROXY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698