diff options
author | Owen W. Taylor <otaylor@fishsoup.net> | 2012-11-14 19:21:33 -0500 |
---|---|---|
committer | Owen W. Taylor <otaylor@fishsoup.net> | 2013-02-14 17:19:51 -0500 |
commit | 8855bf052d8bbbd8fdfce1cd5f4a3540661a9c8e (patch) | |
tree | a20e834ec52411ff83638d942cc4788a7fa2fb75 /gdk/gdkinternals.h | |
parent | 9690567d5059e5667803e5b8fb438c3b97e9d7e7 (diff) | |
download | gtk+-8855bf052d8bbbd8fdfce1cd5f4a3540661a9c8e.tar.gz |
Add GDK_DEBUG=frames
Add a debug option to print out detailed statistics about each frame drawn.
https://bugzilla.gnome.org/show_bug.cgi?id=685460
Diffstat (limited to 'gdk/gdkinternals.h')
-rw-r--r-- | gdk/gdkinternals.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index babef6e7f6..4239188426 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -82,7 +82,8 @@ typedef enum { GDK_DEBUG_MULTIHEAD = 1 << 7, GDK_DEBUG_XINERAMA = 1 << 8, GDK_DEBUG_DRAW = 1 << 9, - GDK_DEBUG_EVENTLOOP = 1 << 10 + GDK_DEBUG_EVENTLOOP = 1 << 10, + GDK_DEBUG_FRAMES = 1 << 11 } GdkDebugFlag; typedef enum { @@ -428,6 +429,26 @@ cairo_surface_t * _gdk_offscreen_window_create_surface (GdkWindow *window, gint width, gint height); +/******************************** + * Debug-only frame statistics * + ********************************/ + +#ifdef G_ENABLE_DEBUG + +gint64 _gdk_frame_timings_get_layout_start_time (GdkFrameTimings *timings); +void _gdk_frame_timings_set_layout_start_time (GdkFrameTimings *timings, + gint64 layout_start_time); +gint64 _gdk_frame_timings_get_paint_start_time (GdkFrameTimings *timings); +void _gdk_frame_timings_set_paint_start_time (GdkFrameTimings *timings, + gint64 paint_time); +gint64 _gdk_frame_timings_get_frame_end_time (GdkFrameTimings *timings); +void _gdk_frame_timings_set_frame_end_time (GdkFrameTimings *timings, + gint64 frame_end_time); + +void _gdk_frame_history_debug_print (GdkFrameHistory *history, + GdkFrameTimings *timings); + +#endif /* G_ENABLE_DEBUG */ G_END_DECLS |