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

Side by Side Diff: cc/output/begin_frame_args.h

Issue 267783004: Refactoring the way begin frame sources inside scheduler work. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Very minor fixes. Created 6 years, 2 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_OUTPUT_BEGIN_FRAME_ARGS_H_ 5 #ifndef CC_OUTPUT_BEGIN_FRAME_ARGS_H_
6 #define CC_OUTPUT_BEGIN_FRAME_ARGS_H_ 6 #define CC_OUTPUT_BEGIN_FRAME_ARGS_H_
7 7
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/time/time.h" 9 #include "base/time/time.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 #include "cc/base/cc_export.h" 11 #include "cc/base/cc_export.h"
12 12
13 namespace base { 13 namespace base {
14 namespace debug { 14 namespace debug {
15 class ConvertableToTraceFormat; 15 class ConvertableToTraceFormat;
16 class TracedValue; 16 class TracedValue;
17 } 17 }
18 } 18 }
19 19
20 namespace cc { 20 namespace cc {
21 21
22 struct CC_EXPORT BeginFrameArgs { 22 struct CC_EXPORT BeginFrameArgs {
23 enum BeginFrameArgsType {
24 INVALID,
25 NORMAL,
26 SYNCHRONOUS,
27 MISSED,
28 };
29
23 // Creates an invalid set of values. 30 // Creates an invalid set of values.
24 BeginFrameArgs(); 31 BeginFrameArgs();
25 32
26 // You should be able to find all instances where a BeginFrame has been 33 // You should be able to find all instances where a BeginFrame has been
27 // created by searching for "BeginFrameArgs::Create". 34 // created by searching for "BeginFrameArgs::Create".
28 static BeginFrameArgs Create(base::TimeTicks frame_time, 35 static BeginFrameArgs Create(base::TimeTicks frame_time,
29 base::TimeTicks deadline, 36 base::TimeTicks deadline,
30 base::TimeDelta interval); 37 base::TimeDelta interval);
38 static BeginFrameArgs CreateTyped(base::TimeTicks frame_time,
39 base::TimeTicks deadline,
40 base::TimeDelta interval,
41 BeginFrameArgsType type);
31 static BeginFrameArgs CreateForSynchronousCompositor( 42 static BeginFrameArgs CreateForSynchronousCompositor(
32 base::TimeTicks now = base::TimeTicks()); 43 base::TimeTicks now = base::TimeTicks());
33 44
34 // This is the default delta that will be used to adjust the deadline when 45 // This is the default delta that will be used to adjust the deadline when
35 // proper draw-time estimations are not yet available. 46 // proper draw-time estimations are not yet available.
36 static base::TimeDelta DefaultEstimatedParentDrawTime(); 47 static base::TimeDelta DefaultEstimatedParentDrawTime();
37 48
38 // This is the default interval to use to avoid sprinkling the code with 49 // This is the default interval to use to avoid sprinkling the code with
39 // magic numbers. 50 // magic numbers.
40 static base::TimeDelta DefaultInterval(); 51 static base::TimeDelta DefaultInterval();
41 52
42 // This is the default amount of time after the frame_time to retroactively 53 // This is the default amount of time after the frame_time to retroactively
43 // send a BeginFrame that had been skipped. This only has an effect if the 54 // send a BeginFrame that had been skipped. This only has an effect if the
44 // deadline has passed, since the deadline is also used to trigger BeginFrame 55 // deadline has passed, since the deadline is also used to trigger BeginFrame
45 // retroactively. 56 // retroactively.
46 static base::TimeDelta DefaultRetroactiveBeginFramePeriod(); 57 static base::TimeDelta DefaultRetroactiveBeginFramePeriod();
47 58
48 bool IsValid() const { return interval >= base::TimeDelta(); } 59 bool IsValid() const { return interval >= base::TimeDelta(); }
Sami 2014/09/30 14:58:39 This should probably be updated to look at the typ
49 60
50 scoped_refptr<base::debug::ConvertableToTraceFormat> AsValue() const; 61 scoped_refptr<base::debug::ConvertableToTraceFormat> AsValue() const;
51 void AsValueInto(base::debug::TracedValue* dict) const; 62 void AsValueInto(base::debug::TracedValue* dict) const;
52 63
53 base::TimeTicks frame_time; 64 base::TimeTicks frame_time;
54 base::TimeTicks deadline; 65 base::TimeTicks deadline;
55 base::TimeDelta interval; 66 base::TimeDelta interval;
67 BeginFrameArgsType type;
56 68
57 private: 69 private:
58 BeginFrameArgs(base::TimeTicks frame_time, 70 BeginFrameArgs(base::TimeTicks frame_time,
59 base::TimeTicks deadline, 71 base::TimeTicks deadline,
60 base::TimeDelta interval); 72 base::TimeDelta interval,
73 BeginFrameArgsType type);
61 }; 74 };
62 75
63 } // namespace cc 76 } // namespace cc
64 77
65 #endif // CC_OUTPUT_BEGIN_FRAME_ARGS_H_ 78 #endif // CC_OUTPUT_BEGIN_FRAME_ARGS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698