Early implementations of VBO were just for API correctness (so that apps could begin porting). In current internal builds, VBO is as fast as VAR.
mproso,
Many of the strange aspects of VAR have been hidden by VBO. It doesn’t mean that there aren’t underlying hw restrictions, but the driver has more flexibility to work around those restrictions in ways that do not hinder performance.
evanGLizr,
Contexts survive mode switches and power management events. The things that may not survive are mapped buffer objects.
Coriolis,
The slides provide a higher-level introduction. The don’t contain more information than is in the spec.
Originally posted by evanGLizr: AFAIK OpenGL cannot survive modechanges in XP because of XP’s design (the OS invalidates the WNDOBJ handler when not in the same resolution the WNDOBJ was created in), and MS acknowledges that shortcoming.
I don’t believe this is accurate. Our drivers have been able to recover from modeswitches (including color depth switches) for years now. That includes both Win9x and NT in all its variants – NT4, Win2K, WinXP. We consider it a solved problem.
The real issue has more to do with discarding the vidmem heap. However, this is not an insoluble problem.
I tried it out with gf3 and drivers 43.00, got it to not generate errors, but i get SLOWER result with it than normal vertex arrays?? having Vertex,Normal and indices in bertex buffers, just color and one light…
and, static_draw once, only rebind the arrays each frame, not the buffers ( yea i know, an implementation misstake by me in my engine )
You know what would be nice? A html file with links pointing to split extension specification text files. As it is now the file is too long and I keep scrolling up and down all the time to read it. The issue section should be categorized. Have an overview section and a function reference section would be nice as well. Doesn’t anyone ever reads directX docs? Hyperlinking is so cool
Matt, cass, how does streaming differ from mapping? Am I correct in thinking that d3d9 dynamic buffers = mapped vertex buffer objects? Trying to make sense out of this that’s all.
Originally posted by mcraighead:
[b] I don’t believe this is accurate. Our drivers have been able to recover from modeswitches (including color depth switches) for years now. That includes both Win9x and NT in all its variants – NT4, Win2K, WinXP. We consider it a solved problem.
The real issue has more to do with discarding the vidmem heap. However, this is not an insoluble problem.
Matt[/b]
You have funny drivers since when creating the GL surface, if I pass a HWND=NULL, it succeeds creating the GL window everytime and works without problems.
The “GDI generic microsoft” implementation and MESA fail.
Well, that wasn’t intentional. I didn’t initialize my HWND so I discovered it accidently.
This is a really good news. I don’t see the moment to remove those VAR, VAO paths.
Have you notice that the slides of the other talks in this year GDC OpenGL tutorial are also here (some of them are not in the NVIDIA web site): http://www.r3.nu/~cass/gdc_slides
I was there and I recommend you all of them. Especially: GDC2003_OGL_Performance and GDC2003_OGL_ARBSuperbuffers
Originally posted by Mazy: I tried it out with gf3 and drivers 43.00, got it to not generate errors, but i get SLOWER result with it than normal vertex arrays??
Try 43.30. I have no problem matching VAR performance on my GF3.
Originally posted by Cab:
[b]
Have you notice that the slides of the other talks in this year GDC OpenGL tutorial are also here (some of them are not in the NVIDIA web site): http://www.r3.nu/~cass/gdc_slides
I was there and I recommend you all of them. Especially: GDC2003_OGL_Performance and GDC2003_OGL_ARBSuperbuffers
The ARB VBO support is in ATI drivers right now. When it appears in shipping drivers just depends on when the qualification cycles for different driver kits complete.
Depending on how things line up, I would say that VBO will be either in the next released driver or the one after that. I would expect those with access to developer drivers will see it extremely soon if not already.