Timeline for Why would GLCapabilities.setHardwareAccelerated(true/false) have no effect on performance?
Current License: CC BY-SA 3.0
7 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Mar 13, 2012 at 14:58 | comment | added | Luke | The chosen answer and the comments here seem to agree with my last point: stackoverflow.com/questions/6475418/… | |
| Mar 13, 2012 at 14:56 | comment | added | Luke | I don't think this is it. I've narrowed the problem down to a simpler test case, which is simply rendering 4 million textures. When I draw them all in one glDrawElements call I get 19 FPS. When I split it up into chunks of 750k indexed by an int, it drops to 17 FPS, when I split it up into chunks of 32k indexed by a short it drops to 11 FPS. I also tried 32k chunks indexed by an int, it's still 11 FPS. I believe the limits are for internal performance optimization of glDrawRangeElements only and performance reverts to that of glDrawElements if the conditions are not met. | |
| Mar 13, 2012 at 11:09 | comment | added | Maximus Minimus | Yup, I've noted it, and have also noted that both glDrawElements and glDrawRangeElements predate hardware T&L. Bottom line is that if a limit exists in hardware then the spec can say that the moon is a blue cube for all it matters, and this is a limit that exists in hardware. | |
| Mar 13, 2012 at 3:39 | comment | added | Nicol Bolas | Note that MAX_ELEMENTS_VERTICES and MAX_ELEMENTS_INDICES are for glDraw<b>Range</b>Elements. It has nothing to do with glDrawElements. | |
| Mar 12, 2012 at 20:35 | comment | added | Maximus Minimus | You could get away with the indexes and just set new array pointers with different offsets. | |
| Mar 12, 2012 at 19:49 | comment | added | Luke | I pulled the values of GL_MAX_ELEMENTS_VERTICES and GL_MAX_ELEMENTS_INDICES, and they are both 1,048,576. This would seem to agree with your hunch. Are you saying that I need to break my vertex array buffers (GL.GL_ARRAY_BUFFER) up into smaller chunks or just my index array buffers(GL.GL_ELEMENT_ARRAY_BUFFER)? If I had to break both up into smaller chunks, that would be nightmarish for my current application... | |
| Mar 12, 2012 at 19:07 | history | answered | Maximus Minimus | CC BY-SA 3.0 |