[leveller] Re: Brush slowness mystery solved

Yeah, I don't want disabled vsync as a permanent solution; it shouldn't 
even be an option. Just a temporary workaround until 2.5 gets out. 
Fortunately I don't notice tearing since my edit render style is set to 
show as little as possible in the scene pane (and I'm looking mostly at 
the map pane when I brush draw anyway), and the other render styles tend 
to be slow enough to be under the refresh rate. But my PC isn't the 
fastest; others running at, say, 2.5 or 3GHz need a vsync-friendly option.

Ray


John D. Gwinner wrote:
> When you disable vsync, you are telling the vid hardware to flip the
> buffer halfway down the screen, so you are clearly getting tearing.  You
> probably just don't notice it.  60 or 72hz has to be your screen refresh
> speed regardless of what OpenGL thinks.
> 
> High performance timing API's should be available on anything Pentium
> and later.  Anyone running Leveller on a 486 won't be worried about 800
> fps <G>.
> 
>               =3D=3D John =3D=3D=20
> 
> -----Original Message-----
> From: leveller-bounce@xxxxxxxxxxxxx
> [mailto:leveller-bounce@xxxxxxxxxxxxx] On Behalf Of Ray Gardener
> Sent: Tuesday, April 12, 2005 12:32 AM
> To: leveller@xxxxxxxxxxxxx
> Subject: [leveller] Re: Brush slowness mystery solved
> 
> I'm not sure a decoupled strategy works... in fact, tearing would be
> worse, because a buffer could be partially overwritten by an unblocked
> thread when the monitor got around to refreshing.
> 
> Putting the render stuff on a seperate thread causes the same problem in
> reverse: now I need to block edits to avoid displaying frames with "half
> an edit", i.e., temporal sampling of whatever state the document happens
> to be in at display refresh time. You'd see mesh cracking and stuff.
> 
> What I've done for now is that I keep track of how much time has passed
> since the last time an OpenGL scene was drawn, and if it's less than the
> vsync interval, to just not bother rendering. I've reenabled vsync and
> with this mod, it feels as if vsync is disabled. I get even more speed
> since I don't bother refreshing the 2D map pane either. :)  The only
> caveat is that high-performance timing APIs have to be available on
> Windows; if your system doesn't have them, I fallback to older timer
> services which might cause more rendering than necessary, and disabling
> vsync is the only option then.
> 
> Would be neat if a video card auto-blurred when frame rates went above
> display rates. Since we can now draw super fast, it'd be a cheap way to
> get motion blur.
> 
> Ray
> 
> 
> 
> 
> 

Other related posts: