Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Page 2 of 2 FirstFirst 12
Results 11 to 13 of 13

Thread: Map Me Again But Don't Waste My Time!

  1. #11
    Advanced Member Frequent Contributor
    Join Date
    Oct 2009
    Posts
    595

    Re: Map Me Again But Don't Waste My Time!

    Well, when I found about this workaround, I just thought: there must be a reason why game producers test their products on different GPUs. You can check the GL vendor on startup, then select the best method to update a VBO from that. This sort of thing has been around for a while as Alfonse observed. What I wonder about is, if glfreak has tested both approaches on different GPUs.

    I use the Dark Photon's caching VBO and I really don't care much about the perf of glMapBuffer()/glBufferSubData(). If there is a cache miss, the VBO is orphaned and data has to reloaded, which is not particularly fast in any case - it causes some frame breakage regardless of the method I use.

  2. #12
    Junior Member Newbie
    Join Date
    Dec 2010
    Posts
    11

    Re: Map Me Again But Don't Waste My Time!

    Quote Originally Posted by Alfonse Reinheart
    Longs Peak was going to introduce a vertex format object, which drivers could reject creation of if the vertex format was sub-optimal (similar to GL_FRAMEBUFFER_UNSUPPORTED). But that died.
    Why this can't be added to OpenGL today? It looks quite simple for driver developers to implement something like glGetPerformanceHint(GL_DOUBLE, GL_RGBA) or whatever same..

  3. #13
    Advanced Member Frequent Contributor
    Join Date
    Apr 2009
    Posts
    530

    Re: Map Me Again But Don't Waste My Time!

    In the land of VBO' and GL.. I suspect (but I do not know!) that when a vendor makes a D3D driver, the OS (Windows) selects the allocation/mapping jazz of buffers, not the vendor's driver. Indeed, if folks remember when Vista was first around, some games ran slower on Vista.. the cause was not Vista, but rather some of those games were doing the D3D analogue of glTexImage instead of glTexSubImage in places.... the drivers for XP and before did more of the memory jazz and so the driver implementations could "hack" it. Back to GL, the hardware vendor can choose how they do the buffer objects and all the flags are just hints.. so we have that VBO behavior can vary wildly across vendors and possibly even driver versions.

    My opinion is that there is nothing wrong with the API, but the issue is that each GL implementation can choose how to interpret the hints and so we get as Dark Photon says the "VBO Ouija board".

    On a related note, I wonder if under the Apple platform with different GPU's there is a big difference of VBO's for each VBO handling strategy. Anyone have some (recent) numbers comparing VBO Ouija board of Apple GL with different GPU's?

    On another note, ATI gives some advise for attribute alignment as well (I cannot remember, but I think it was 64bit alignment).


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •