summaryrefslogtreecommitdiff
path: root/gdk/gdkframetimings.c
Commit message (Collapse)AuthorAgeFilesLines
* docs: Rework the gdk docsMatthias Clasen2021-03-111-55/+60
| | | | Convert links, make things more concise.
* The big versioning cleanupMatthias Clasen2018-02-061-8/+0
| | | | | | | Remove all the old 2.x and 3.x version annotations. GTK+ 4 is a new start, and from the perspective of a GTK+ 4 developer all these APIs have been around since the beginning.
* Document more structsMatthias Clasen2017-12-261-0/+7
|
* frametimings: reuse previous frame timing in common caseChristian Hergert2016-04-261-0/+17
| | | | | | | | Typically, there won't be any references on old frame timings except for the most recent timing. So instead of discarding these and re-entering gslice twice, just steal the old frame timing and reuse it. https://bugzilla.gnome.org/show_bug.cgi?id=765592
* docs: use proper apostropheWilliam Jon McCann2014-02-071-2/+2
| | | | https://wiki.gnome.org/Design/OS/Typography
* Use proper quotes in gdkWilliam Jon McCann2014-02-051-1/+1
|
* docs: fix typo in function nameWilliam Jon McCann2014-01-201-1/+1
|
* Fix a few more doc issuesMatthias Clasen2013-02-251-1/+1
|
* Include GdkFrameClock in the docsMatthias Clasen2013-02-251-1/+1
| | | | | Make GdkFrameClock and GdkFrameTimings show up in the docs. A couple of minor doc fixes are also included.
* GdkFrameTimings: add documentationOwen W. Taylor2013-02-141-0/+114
|
* GdkFrameTimings: strip down to a minimal public APIOwen W. Taylor2013-02-141-174/+2
| | | | | | | | | Since we're not exporting the ability to create your own frame clock for now, remove the setters for GdkFrameTimings fields. Also remove all setters and getters for fields that are more about implementation than about quantities that are meaningful to the applcation and just access the fields directly within GDK.
* Add gdk_frame_timings_get_predicted_presentation_time()Owen W. Taylor2013-02-141-0/+18
| | | | | | | | | | | | | | | | | | | | | For an operation like synchronizing audio to video playback, we need to be able to predict the time that a frame will be presented. The details of this depend on the windowing system, so make the backend predict a presentation time for ::begin-frame and set it on the GdkFrameTimings. The timing algorithm of GdkFrameClockIdle is adjusted to give predictable presentation times for frames that are not throttled by the windowing system. Helper functions: gdk_frame_clock_get_current_frame_timings() gdk_frame_clock_get_refresh_info() are added for operations that would otherwise be needed multiple times in different locations. https://bugzilla.gnome.org/show_bug.cgi?id=685460
* Add GDK_DEBUG=framesOwen W. Taylor2013-02-141-0/+60
| | | | | | Add a debug option to print out detailed statistics about each frame drawn. https://bugzilla.gnome.org/show_bug.cgi?id=685460
* Add gdk_frame_timings_get/set_slept_before()Owen W. Taylor2013-02-141-1/+20
| | | | | | | | | | Add functions that tell us whether the main loop slept before we drew a frame. Blocking with the frame clock frozen doesn't count as sleeping. We'll use this to advertise to the compositor whether we are drawing as fast as possible (and it should do the same) or timing frames carefully (and it should do the same.) https://bugzilla.gnome.org/show_bug.cgi?id=685460
* Add GdkFrameHistory and GdkFrameTimings, handle _NET_WM_FRAME_TIMINGSOwen W. Taylor2013-02-141-0/+180
In order to be able to track statistics about how well we are drawing, and in order to be able to do sophisticated things with frame timing like predicting per-frame latencies and synchronizing audio with video, we need to be able to track exactly when previous frames were drawn to the screen. Information about each frame is stored in a new GdkFrameTimings object. A new GdkFrameHistory object is added which keeps a queue of recent GdkFrameTimings (this is added to avoid further complicating the implementation of GdkFrameClock.) https://bugzilla.gnome.org/show_bug.cgi?id=685460