Manta Interactive Ray Tracer Development Mailing List

Text archives Help


Re: [Manta] vsync?


Chronological Thread 
  • From: Abe Stephens <abe@sci.utah.edu>
  • To: MANTA <manta@sci.utah.edu>
  • Subject: Re: [Manta] vsync?
  • Date: Sun, 6 Jan 2008 20:55:45 -0700


Thanks for the tip--I think I was able to resolve this by updating the framerate text in a GUI idle callback, instead of directly from the gl swapbuffer related code. While swapping buffers is pretty low cost, I guess the flurry of refresh messages sent by the gui when you change some text is too much to handle at high rates.

On another note, I've noticed the empty scene frame rate in the viewer tops out at 60hz on my mac, so maybe there is some sort of sync going on (supposedly vsync is disabled by default).

Abe


On Jan 6, 2008, at 7:21 PM, R. Keith Morley wrote:


We had this issue in a c++ wx based manta gui. The status bar update was being updated
once per frame, and after 50 fps it was hogging the display thread -- i just throttled the status bar
update so that it only updates every 0.02s or something and the problem went away.

k

Abe Stephens wrote:

For everyone's benefit: the issue Carson is describing is that on certain systems the synchronization between the Manta display thread and the GUI thread (wxPython in this case) preempts and starves the GUI event handling loop when the frame rate exceeds 30-60 fps. Often this happens during a visualization when the user accidentally moves the camera away from the dataset--the frame rate goes berserk and since the GUI becomes unresponsive it's impossible to move the dataset back into view.

I'm not sure if this is a vsync issue--as I think it can occur (occasionally) well below the refresh rate of our displays. James might know better, since he wrote the python/manta interaction code, but I'd imagine we can address the starvation issue directly somewhere in there. This problem didn't arise with the X11, Fox, or Performer GUIs because those approaches rendered completely asynchronously.

Abe


On Jan 6, 2008, at 6:39 PM, Carson Brownlee wrote:

Manta doesn't have any sort of vsync right? The only way I know how to do this is through vendor specific OGL calls (CGL, WGL, etc.). Is there a better way to do this (other than if delta < time then delay (time-delta))? The problem I'm having is that when Manta is rendering nothing on certain systems it seems slow down wxPython windows.
thanks,
Carson







Archive powered by MHonArc 2.6.16.

Top of page