[Vm-dev] linux thread priorities
andreas.raab at gmx.de
Thu Feb 4 16:28:09 UTC 2010
Igor Stasenko wrote:
> On 4 February 2010 07:56, Andreas Raab <andreas.raab at gmx.de> wrote:
>> Igor Stasenko wrote:
>>> Wow.. 100ms? Sounds like you can't have more than 10 frames per
>>> second. Weird. Can it be because it waits for vsync?
>> No it's because it got stuff queued up that the GPU hasn't processed yet.
>> SwapBuffers() forces it to process the pending stuff. What we've done to fix
>> this is to issue a fence and a flush to let the GPU tell us when it's done
>> processing without blocking. This brings the time in SwapBuffers() down but
>> it requires that your GPU and drivers support the fence instructions (not
>> all do; in particular Intel doesn't). I have no clue what the situation on
>> Linux is but I expect the worst.
> Hmm.. i still think this is too much.. because i can't imagine the GL
> pipeline being that slow on modern hardware.
> Simply because you can't get 300 fps by having 100ms delays :)
You only get 300fps if you run glxGears or other toy demos. Real
applications deal with lots of complex meshes and lots of big textures.
It's very easy to throw more at the GPU than it can handle. All it takes
is a single Ron in your meeting :-)
More information about the Vm-dev