Thanks for the answers!

I have found the root cause in my code: I realized that GtkGlArea render
calls are not called automatically for each screen refresh, and the
observed ~40Hz was coming from my program (a timer I already forgot
triggered redraw with this rate).

What is the common way to request rendering for every screen refresh? Now I
have added a gtk_widget_queue_draw() into my render callback itself; is
this the best technique?

With this, I got ~59.2Hz, what seems ok, but also indicates that I have
significant frame drops (>1%), even with reniced -19 priority process... As
I mentioned, my rendering is very fast, <1ms.

It would be desirable if I could get info about the current frame counter,
i.e., similar to one in page_flip_handler's sequence  in DRM world, because
I would like to use some optimizations based on that. Is it possible to get
this info?

Thanks,
Ferenc


On Sat, Feb 4, 2017 at 10:04 AM, Tarnyko <tarn...@tarnyko.net> wrote:

> Ferenc,
> Your program's rendering is slower than the monitor nominal refresh rate,
> which is perfectly possible if your scenes are heavy.
> Please note that it could also render _faster_ (FPS higher than refresh
> rate).
> Scenes FPS are not directly tied to your monitor, unless you enable what
> we call "VSync" : i.e. your FPS are higher than 60, but you
> programmatically force it down to 60. The benefit is avoiding what we call
> "tearing", which is a display artifact that your eye could notice.
> Regards,
> Tarnyko
> Ferenc Engárd writes:
>
>> Hi,
>> I have a strange issue with GtkGlArea under linux: it seems my program
>> runs
>> with a different fps than the monitor's refresh rate. (The rendering
>> itself
>> is fast, faster than 1ms.)
>> I use a 60Hz monitor mode, and the rendering fps is around 39.5Hz. I
>> verified my monitor refresh rate with xrandr, and even with another --
>> X11-EGL based -- program; it is really 60Hz.
>> I also measured the time interval between two render calls, and the min
>> and
>> max is around 22ms and 28ms, so it seems that I even do not drop a frame.
>> I do not set anything special in GtkGlArea or opengl (glSwapInterval or
>> so)...
>> Did you encounter with such an issue? Any idea what can be the problem?
>> Ubuntu 16.04, unity, gtk+ 3.18.9
>> Thanks,
>> Ferenc
>>
>
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

Reply via email to