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

Side by Side Diff: ui/surface/accelerated_surface_win.h

Issue 10825053: Use DwmGetCompositionTimingInfo to get vsync info on Windows (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase on top of commited base/time changes Created 8 years, 4 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
« no previous file with comments | « no previous file | ui/surface/accelerated_surface_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 UI_SURFACE_ACCELERATED_SURFACE_WIN_H_ 5 #ifndef UI_SURFACE_ACCELERATED_SURFACE_WIN_H_
6 #define UI_SURFACE_ACCELERATED_SURFACE_WIN_H_ 6 #define UI_SURFACE_ACCELERATED_SURFACE_WIN_H_
7 7
8 #include <d3d9.h> 8 #include <d3d9.h>
9 9
10 #include "base/callback_forward.h" 10 #include "base/callback_forward.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 // presenter has affinity. 70 // presenter has affinity.
71 void DoPresentAndAcknowledge( 71 void DoPresentAndAcknowledge(
72 const gfx::Size& size, 72 const gfx::Size& size,
73 int64 surface_handle, 73 int64 surface_handle,
74 const base::Callback<void(bool)>& completion_task); 74 const base::Callback<void(bool)>& completion_task);
75 void DoSuspend(); 75 void DoSuspend();
76 void DoPresent(HDC dc, bool* presented); 76 void DoPresent(HDC dc, bool* presented);
77 bool DoRealPresent(HDC dc); 77 bool DoRealPresent(HDC dc);
78 void DoReleaseSurface(); 78 void DoReleaseSurface();
79 79
80 // This gets the timestamp and period of the display's last vsync.
81 // The period is represented as a ratio which, when divided, will give you
82 // the interval in seconds. i.e.:
83 // inteval_in_seconds = interval_numerator / interval_denominator;
84 // For example, some machines will return an interval_numerator of 1001
85 // and an interval_denominator of 60000, resulting in an interval of
86 // 1001/60000 ~= .016683 seconds
87 // Note: This function assumes lock_ is acquired.
88 void GetPresentationStats(base::TimeTicks* timebase,
89 uint32* interval_numerator,
90 uint32* interval_denominator);
91
80 // The thread with which this presenter has affinity. 92 // The thread with which this presenter has affinity.
81 PresentThread* const present_thread_; 93 PresentThread* const present_thread_;
82 94
83 // The window that is presented to. 95 // The window that is presented to.
84 gfx::NativeWindow window_; 96 gfx::NativeWindow window_;
85 97
86 // The lock is taken while any thread is calling the object, except those that 98 // The lock is taken while any thread is calling the object, except those that
87 // simply post from the main thread to the present thread via the immutable 99 // simply post from the main thread to the present thread via the immutable
88 // present_thread_ member. 100 // present_thread_ member.
89 base::Lock lock_; 101 base::Lock lock_;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 149
138 // Indicates that the surface has become invisible. 150 // Indicates that the surface has become invisible.
139 void WasHidden(); 151 void WasHidden();
140 152
141 private: 153 private:
142 const scoped_refptr<AcceleratedPresenter> presenter_; 154 const scoped_refptr<AcceleratedPresenter> presenter_;
143 DISALLOW_COPY_AND_ASSIGN(AcceleratedSurface); 155 DISALLOW_COPY_AND_ASSIGN(AcceleratedSurface);
144 }; 156 };
145 157
146 #endif // UI_SURFACE_ACCELERATED_SURFACE_WIN_H_ 158 #endif // UI_SURFACE_ACCELERATED_SURFACE_WIN_H_
OLDNEW
« no previous file with comments | « no previous file | ui/surface/accelerated_surface_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698