Add a profiler mark around renderer realization
authorMatthias Clasen <mclasen@redhat.com>
Sat, 25 Jan 2020 06:28:24 +0000 (01:28 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 25 Jan 2020 06:28:24 +0000 (01:28 -0500)
This takes time that is worth calling out.

gsk/gl/gskglrenderer.c

index 65933080c0e9abd570407ee1372d354bb2942037..99df488159a8d0fbfc1b338fad3831c42c2f9f28 100644 (file)
@@ -2773,6 +2773,7 @@ gsk_gl_renderer_realize (GskRenderer  *renderer,
                          GError      **error)
 {
   GskGLRenderer *self = GSK_GL_RENDERER (renderer);
+  gint64 before = g_get_monotonic_time ();
 
   /* If we didn't get a GdkGLContext before realization, try creating
    * one now, for our exclusive use.
@@ -2802,6 +2803,9 @@ gsk_gl_renderer_realize (GskRenderer  *renderer,
   self->icon_cache = get_icon_cache_for_display (gdk_surface_get_display (surface), self->atlases);
   gsk_gl_shadow_cache_init (&self->shadow_cache);
 
+  if (gdk_profiler_is_running ())
+    gdk_profiler_add_mark (before * 1000, (g_get_monotonic_time () - before) * 1000, "gl renderer realize", NULL);
+
   return TRUE;
 }