Declare global counter only in debug builds

This commit is contained in:
Emmanuele Bassi 2020-01-29 14:02:16 +01:00
parent c4dfacc404
commit 1806af1e83

View File

@ -175,13 +175,17 @@ gdk_draw_context_class_init (GdkDrawContextClass *klass)
g_object_class_install_properties (gobject_class, LAST_PROP, pspecs); g_object_class_install_properties (gobject_class, LAST_PROP, pspecs);
} }
#ifdef G_ENABLE_DEBUG
static guint pixels_counter; static guint pixels_counter;
#endif
static void static void
gdk_draw_context_init (GdkDrawContext *self) gdk_draw_context_init (GdkDrawContext *self)
{ {
#ifdef G_ENABLE_DEBUG
if (pixels_counter == 0) if (pixels_counter == 0)
pixels_counter = gdk_profiler_define_int_counter ("frame pixels", "Pixels drawn per frame"); pixels_counter = gdk_profiler_define_int_counter ("frame pixels", "Pixels drawn per frame");
#endif
} }
/** /**
@ -320,6 +324,7 @@ gdk_draw_context_begin_frame (GdkDrawContext *context,
GDK_DRAW_CONTEXT_GET_CLASS (context)->begin_frame (context, priv->frame_region); GDK_DRAW_CONTEXT_GET_CLASS (context)->begin_frame (context, priv->frame_region);
} }
#ifdef G_ENABLE_DEBUG
static gint64 static gint64
region_get_pixels (cairo_region_t *region) region_get_pixels (cairo_region_t *region)
{ {
@ -336,6 +341,7 @@ region_get_pixels (cairo_region_t *region)
return pixels; return pixels;
} }
#endif
/** /**
* gdk_draw_context_end_frame: * gdk_draw_context_end_frame:
@ -376,10 +382,12 @@ gdk_draw_context_end_frame (GdkDrawContext *context)
GDK_DRAW_CONTEXT_GET_CLASS (context)->end_frame (context, priv->frame_region); GDK_DRAW_CONTEXT_GET_CLASS (context)->end_frame (context, priv->frame_region);
#ifdef G_ENABLE_DEBUG
if (gdk_profiler_is_running ()) if (gdk_profiler_is_running ())
gdk_profiler_set_int_counter (pixels_counter, gdk_profiler_set_int_counter (pixels_counter,
g_get_monotonic_time () * 1000, g_get_monotonic_time () * 1000,
region_get_pixels (priv->frame_region)); region_get_pixels (priv->frame_region));
#endif
g_clear_pointer (&priv->frame_region, cairo_region_destroy); g_clear_pointer (&priv->frame_region, cairo_region_destroy);
g_clear_object (&priv->surface->paint_context); g_clear_object (&priv->surface->paint_context);