PDA

View Full Version : CPU->GPU Sync in glDrawArrays



The Legend
12-08-2001, 03:07 AM
Hi, I have one large vertex array (~16000) but have to access through ~200 calls to glDrawArrays. I only get ~26 fps.

I have some questions:
1. Is that too much?
2. What would be better?

Lev
12-08-2001, 04:51 AM
The best would be to draw the whole array with one call. Standard OpenGL does not allow better syncronization, but the VAR extension does. ATI also has an extension for that, don't know its name. With VAR, glDrawElements will return _immediately_, so you just can send those 200 small arrays to OpenGL, without waiting for one to be transfered to OpenGL to send the next.

-Lev

The Legend
12-08-2001, 04:59 AM
But wouldn't glDrawArrays wait again until the previous array has been transfered completetly? Or for what else would I need the fence then (except for syncin anything myself)?

Or another thing: Is there any possibility to send arrays for different textures in one call?

Btw, nobody could tell me where I can find a doc about the index arrays, which suit better in my case!

The Legend
12-08-2001, 05:01 AM
And aren't you the guy who told me this already on flipcode, too?

Kaycee
12-08-2001, 10:00 PM
If you use glDrawElements then you can use an array of indices.