gtk/gdk
Benjamin Otte 2861ab38ac frameclock: Report accurate fps instead of too low
Previously, our reported fps numbers could be too low when the start
timings weren't complete. In that case we would use the frame time, but
the frame time is the time when the frame was rendered, which is quite a
few milliseconds before it is presented.

So in that case we would not report the difference in presentation
times, but the difference from start of rendering. However, those times
are way more variable and can smear over the whole frame because they
depend on when we received the frame callbacks to high priority GSources
as well as our own render time predictions.

This happened in particular with GDK_DEBUG=no-vsync and could report
number that are off by a factor of 2.

Now we skip any incomplete frames, because those frames never have
presentation times reported. This makes it theoretically more likely to
not being able to report fps at all, but I'd rather have no fps than fps
off by a factor of 2.
2024-03-10 10:27:36 +01:00
..
broadway Remove G_ENABLE_DEBUG around debug checks 2023-11-05 11:16:23 +01:00
deprecated gdk: Fix up introspection build 2023-05-21 09:46:49 -04:00
loaders Tweak profiling strings 2024-01-21 14:02:08 -05:00
macos Merge branch 'macos-move-maximized' into 'main' 2024-03-05 21:53:26 +00:00
version Use #pragma once 2023-05-09 16:43:35 +01:00
wayland wayland: Add window sizes to debug spew 2024-03-09 12:43:33 -05:00
win32 Merge branch 'disable-depth-test' into 'main' 2024-02-19 19:14:36 +00:00
x11 general: Fix leaks 2024-02-27 22:01:41 +03:00
COPYING
default_cursor.png docs: Update cursor images 2023-09-21 19:51:11 +02:00
filetransferportal.c Remove G_ENABLE_DEBUG around debug checks 2023-11-05 11:16:23 +01:00
filetransferportalprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdk.c gdk: Enable fractional scaling for GL by default 2024-01-25 14:41:04 -05:00
gdk.h Add GdkDmabufTexture 2023-10-11 15:43:01 -04:00
gdkapplaunchcontext.c Drop gdkintl.h 2022-09-23 23:33:42 -04:00
gdkapplaunchcontext.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkapplaunchcontextprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkarrayimpl.c array: constify the additions array 2023-10-14 22:11:44 +02:00
gdkcairo.c gdk: Drop some unused private api 2023-05-15 20:30:38 -04:00
gdkcairo.h gdk: Deprecated some pixbuf apis 2023-05-15 18:22:37 -04:00
gdkcairocontext.c gdk: Remove gdkinternals.h 2021-09-24 22:50:29 +02:00
gdkcairocontext.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkcairocontextprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkclipboard.c docs: Fix: gdk->gtk and gdk->gsk links 2024-01-05 14:57:07 -05:00
gdkclipboard.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkclipboardprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkconfig.h.meson gdk: Cosmetics 2022-10-05 23:01:28 -04:00
gdkconfig.h.win32 Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkconfig.h.win32_vulkan Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkconstructorprivate.h Rename gdkconstructor.h to gdkconstructorprivate.h 2022-09-23 23:14:08 -04:00
gdkcontentdeserializer.c gdk: Stop using g_slice 2023-03-14 14:56:42 -04:00
gdkcontentdeserializer.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkcontentformats.c gdk: Fix an oversight in GdkContentFormats 2023-06-09 08:17:34 -04:00
gdkcontentformats.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkcontentformatsprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkcontentprovider.c Drop gdkintl.h 2022-09-23 23:33:42 -04:00
gdkcontentprovider.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkcontentproviderimpl.c Drop gdkintl.h 2022-09-23 23:33:42 -04:00
gdkcontentproviderimpl.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkcontentproviderprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkcontentserializer.c gdk: Deprecated some pixbuf apis 2023-05-15 18:22:37 -04:00
gdkcontentserializer.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkcursor.c docs: Fix: gdk->gtk and gdk->gsk links 2024-01-05 14:57:07 -05:00
gdkcursor.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkcursorprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdebugprivate.h gdk: Enable fractional scaling for GL by default 2024-01-25 14:41:04 -05:00
gdkdevice.c Use GDK_NO_MODIFIER_MASK in default prop values 2024-01-13 01:30:02 +01:00
gdkdevice.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkdevicepad.c gdk: Clean up docs syntax 2021-05-22 17:25:26 -04:00
gdkdevicepad.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkdevicepadprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdeviceprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdevicetool.c Various spelling mistakes across a few domains that show up in documentation. 2022-12-08 12:16:22 +00:00
gdkdevicetool.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkdevicetoolprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdisplay.c gdkdisplay: Don’t call _get_instance_private(NULL) 2024-03-01 12:16:31 +00:00
gdkdisplay.h Let GdkDisplay decide if shadows should be drawn 2024-01-25 12:09:10 +01:00
gdkdisplaymanager.c Avoid a bad warning 2023-05-01 10:40:26 -04:00
gdkdisplaymanager.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdisplaymanagerprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdisplayprivate.h Let GdkDisplay decide if shadows should be drawn 2024-01-25 12:09:10 +01:00
gdkdmabuf.c dmabuf: Fix disjoint detection 2024-01-30 15:19:34 +01:00
gdkdmabufdownloader.c dmabufdownloader: Add a close() function 2023-12-20 10:59:25 +01:00
gdkdmabufdownloaderprivate.h dmabufdownloader: Add a close() function 2023-12-20 10:59:25 +01:00
gdkdmabufegl.c dmabuf: Make init_dmabuf() restore the previous GL context 2024-02-12 01:39:32 +01:00
gdkdmabufeglprivate.h egl: Split out a function 2023-12-20 01:51:46 +01:00
gdkdmabufformats.c dmabuf: Add gdk_dmabuf_formats_equal 2024-02-07 12:38:18 -05:00
gdkdmabufformats.h dmabuf: Add gdk_dmabuf_formats_equal 2024-02-07 12:38:18 -05:00
gdkdmabufformatsbuilder.c dmabuf: Allow implicit modifiers 2023-10-24 22:33:45 -04:00
gdkdmabufformatsbuilderprivate.h dmabufformats: Add GdkDmabufFormatsBuilder 2023-10-14 22:29:10 +02:00
gdkdmabufformatsprivate.h dmabufformats: Add GdkDmabufFormatsBuilder 2023-10-14 22:29:10 +02:00
gdkdmabuffourccprivate.h meson: Decouple linux/dma-buf.h and libdrm checks 2024-02-16 14:01:44 +01:00
gdkdmabufprivate.h vulkan: Add support for enumerating dmabuf formats 2024-01-07 07:22:51 +01:00
gdkdmabuftexture.c Cosmetics 2024-02-07 14:41:28 +00:00
gdkdmabuftexture.h dmabuf: move DmabufTexture typedef 2023-12-20 01:51:46 +01:00
gdkdmabuftexturebuilder.c Fix typos throughout 2024-01-07 20:44:05 -05:00
gdkdmabuftexturebuilder.h dmabuf: Add a GError to gdk_dmabuf_texture_builder_build() 2023-10-14 22:30:17 +02:00
gdkdmabuftextureprivate.h dmabuf: Add a display getter 2023-10-16 22:29:20 -04:00
gdkdrag.c dnd: Use standard cursor names 2024-01-16 19:45:53 -05:00
gdkdrag.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkdragprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdragsurface.c Remove wrong annotation from GdkDragSurface::compute-size 2023-03-26 15:50:22 +01:00
gdkdragsurface.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdragsurfaceprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdragsurfacesize.c g-i: Add since annotation to GdkSurfaceSize 2023-03-20 08:14:25 +00:00
gdkdragsurfacesize.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkdragsurfacesizeprivate.h Add GdkDragSurfaceSize 2023-03-14 19:41:44 -07:00
gdkdrawcontext.c Fix typos throughout 2024-01-07 20:44:05 -05:00
gdkdrawcontext.h gdk: Introduce empty frames in GdkDrawContext 2023-11-13 22:17:35 +01:00
gdkdrawcontextprivate.h gdk: Introduce empty frames in GdkDrawContext 2023-11-13 22:17:35 +01:00
gdkdrop.c gdk: Add an annotation 2023-10-19 10:06:53 -04:00
gdkdrop.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkdropprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkenums.h gdkenums: Backtick the formats in docs 2024-02-24 01:12:59 +01:00
gdkevents.c main: Propagate event handled state up backend 2024-02-07 16:36:26 +01:00
gdkevents.h Add Since annotations to enums 2023-12-22 08:47:47 -05:00
gdkeventsprivate.h main: Propagate event handled state up backend 2024-02-07 16:36:26 +01:00
gdkframeclock.c frameclock: Report accurate fps instead of too low 2024-03-10 10:27:36 +01:00
gdkframeclock.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkframeclockidle.c gdk/frameclock: add mark when we discover frames may drop 2024-03-08 14:41:59 -08:00
gdkframeclockidleprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkframeclockprivate.h Remove G_ENABLE_DEBUG around debug checks 2023-11-05 11:16:23 +01:00
gdkframetimings.c gdk: Stop using g_slice 2023-03-14 14:56:42 -04:00
gdkframetimings.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkgl.c gdk: Remove unused gdk_gl_texture_quads() function 2021-10-06 03:44:36 +02:00
gdkglcontext.c gdk/gdkglcontext: include duration of eglSwapBuffers 2024-03-02 00:03:57 +00:00
gdkglcontext.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkglcontextprivate.h Drop gdk_gl_context_has_bgra 2024-01-21 08:29:33 -05:00
gdkglobals.c gdk: Remove gdkinternals.h 2021-09-24 22:50:29 +02:00
gdkgltexture.c gl: Require GL/GLES flag when looking up memory formats 2024-01-16 20:35:20 +01:00
gdkgltexture.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkgltexturebuilder.c Fix typos throughout 2024-01-07 20:44:05 -05:00
gdkgltexturebuilder.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkgltextureprivate.h gltexture: Optionally take a sync object 2023-04-27 06:55:37 +02:00
gdkglversionprivate.h gdk: Add workaround for Visual Studio 2023-04-27 02:13:33 +02:00
gdkhsla.c gdk_rgba_parse: Support HSL colors 2021-09-10 16:56:42 -05:00
gdkhslaprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkkeys.c gdk: Tweaks to keyname handling 2022-09-24 10:03:37 -04:00
gdkkeys.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkkeysprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkkeysyms-update.pl Update the link to the development branch 2022-01-13 14:42:34 +00:00
gdkkeysyms.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkkeyuni.c gdk: Update keyboard symbols from libxkbcommon 2022-01-29 14:31:09 +02:00
gdkmarshalers.list surface: add missing va_marshaller for layout signal 2021-12-07 22:21:19 -08:00
gdkmemoryformat.c gl: BGRA formats need a different internal format 2024-01-16 20:35:20 +01:00
gdkmemoryformatprivate.h gl: Require GL/GLES flag when looking up memory formats 2024-01-16 20:35:20 +01:00
gdkmemorytexture.c memorytexture: Add a check 2023-07-31 16:51:03 +02:00
gdkmemorytexture.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkmemorytextureprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkmonitor.c monitor: Add gdk_monitor_get_scale 2024-01-30 20:56:08 -05:00
gdkmonitor.h monitor: Add gdk_monitor_get_scale 2024-01-30 20:56:08 -05:00
gdkmonitorprivate.h monitor: Add gdk_monitor_get_scale 2024-01-30 20:56:08 -05:00
gdkpaintable.c docs: Fix: gdk->gtk and gdk->gsk links 2024-01-05 14:57:07 -05:00
gdkpaintable.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkpango.c Drop gdkintl.h 2022-09-23 23:33:42 -04:00
gdkpango.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkpipeiostream.c Stop using enums in bitfields 2023-10-10 11:23:08 +03:00
gdkpipeiostreamprivate.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkpopup.c docs: Fix various broken links 2023-03-27 21:29:08 +02:00
gdkpopup.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkpopuplayout.c docs: Fix: gdk->gtk and gdk->gsk links 2024-01-05 14:57:07 -05:00
gdkpopuplayout.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkpopupprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkprivate.h gdk: Drop unnecessary conditionals 2023-07-20 15:18:13 -04:00
gdkprofiler.c Tweak profiling strings 2024-01-21 14:02:08 -05:00
gdkprofilerprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkrectangle.c gdk: Clean up docs syntax 2021-05-22 17:25:26 -04:00
gdkrectangle.h rect: Annotate some functions as pure 2024-01-06 17:18:18 -05:00
gdkrectangleprivate.h wayland: Use wl_surface_damage_buffer() in Cairo 2023-04-29 05:07:03 +02:00
gdkrgba.c rgba: Add a few macros 2024-01-07 07:22:52 +01:00
gdkrgba.h Revert "Merge branch 'rgba-new-from-string' into 'main'" 2023-12-02 10:55:35 +05:45
gdkrgbaprivate.h rgba: Add a few macros 2024-01-07 07:22:52 +01:00
gdkseat.c Drop gdkintl.h 2022-09-23 23:33:42 -04:00
gdkseat.h gdk: Include pads in GDK_SEAT_CAPABILITY_ALL 2023-06-14 01:42:53 +02:00
gdkseatdefault.c gdk/x11: Implement XI2.4 touchpad gesture support 2021-09-27 23:19:33 +03:00
gdkseatdefaultprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkseatprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdksnapshot.c docs: Fix: gdk->gtk and gdk->gsk links 2024-01-05 14:57:07 -05:00
gdksnapshot.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdksnapshotprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdksubsurface.c subsurface: Have a source rectangle 2024-02-11 21:44:27 -05:00
gdksubsurfaceprivate.h subsurface: Have a source rectangle 2024-02-11 21:44:27 -05:00
gdksurface.c Tweak profiling strings 2024-01-21 14:02:08 -05:00
gdksurface.h vulkan: Disable gdk_surface_create_vulkan_context() 2024-01-07 14:47:22 +01:00
gdksurfaceprivate.h gdk: Drop nonexisting api form headers 2024-02-07 17:33:20 -05:00
gdktexture.c Fix typos throughout 2024-01-07 20:44:05 -05:00
gdktexture.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdktexturedownloader.c Fix typos throughout 2024-01-07 20:44:05 -05:00
gdktexturedownloader.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdktexturedownloaderprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdktextureprivate.h texture: Enable texture diff against arbitrarily distant ancestors 2023-12-08 11:29:56 +00:00
gdktoplevel.c docs: Fix: gdk->gtk and gdk->gsk links 2024-01-05 14:57:07 -05:00
gdktoplevel.h gtk: Add suspended window state 2023-07-30 11:40:09 +03:00
gdktoplevellayout.c gdk: Clean up docs syntax 2021-05-22 17:25:26 -04:00
gdktoplevellayout.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdktoplevelprivate.h gdk: Change the private export handle api 2023-05-14 23:49:44 -04:00
gdktoplevelsize.c Let GdkDisplay decide if shadows should be drawn 2024-01-25 12:09:10 +01:00
gdktoplevelsize.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdktoplevelsizeprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdktypes.h dmabuf: move DmabufTexture typedef 2023-12-20 01:51:46 +01:00
gdkvulkancontext.c Grr, vulkan 2024-03-02 21:47:49 -05:00
gdkvulkancontext.h gdk: Don't include vulkan.h in public API anymore 2024-01-07 14:47:22 +01:00
gdkvulkancontextprivate.h vulkan: Guard dmabuf code with HAVE_DMABUF 2024-01-07 15:07:15 +01:00
gen-gdk-gresources-xml.py gdk: Remove unused gdk_gl_texture_quads() function 2021-10-06 03:44:36 +02:00
gen-keyname-table.pl gdk: Tweaks to keyname handling 2022-09-24 10:03:37 -04:00
keynames-translate.txt gdk: Translate some more key names 2017-10-09 20:33:14 +02:00
keynames.txt
keynamesprivate.h gdk: Tweaks to keyname handling 2022-09-24 10:03:37 -04:00
meson.build meson: Decouple linux/dma-buf.h and libdrm checks 2024-02-16 14:01:44 +01:00