Memory footprint of VAOsCan Vertex Array Objects (VAOs) be shared across EAGLContexts in OpenGL ES?Draw using VAO with multiple VBOs and IBOs (multiple objects) OpenGLES 2 on iOSCPU bound rendering on iPad 3Where and what is “OpenGL memory” used by VBOs, etcOpenGL ES iOS drawing performance a lot slower with VBOs than withoutState preserving particle system for OpenGL ES 2.0OpenGL (ES 2.0 but not specific to ES): is GL_STATIC_DRAW meant for use with glBufferData?EXC_BAD_ACCESS when freeing a IBO and VAOObjective-c Opengl memory leakRepeates call glBufferData failed to allocate memory for new buffer
How to create a summation symbol with a vertical bar?
How did Apollo 15's depressurization work?
Have only girls been born for a long time in this village?
Church Booleans
How can I support the recycling, but not the new production of aluminum?
Is there a known non-euclidean geometry where two concentric circles of different radii can intersect? (as in the novel "The Universe Between")
Designing a prison for a telekinetic race
Most practical knots for hitching a line to an object while keeping the bitter end as tight as possible, without sag?
Is a butterfly one or two animals?
Sous vide chicken without an internal temperature of 165 °F (75 °C)
How can I pack my food so it doesn't smell?
Was Tuvok bluffing when he said that Voyager's transporters rendered the Kazon weapons useless?
Starships without computers?
Metal that glows when near pieces of itself
How to avoid using System.String with Rfc2898DeriveBytes in C#
How to organize ideas to start writing a novel?
Vacuum collapse -- why do strong metals implode but glass doesn't?
Potential new partner angry about first collaboration - how to answer email to close up this encounter in a graceful manner
Prove two distinct pairs of natural numbers with these properties do not exist
Add dupe check parameter to an API call - Contact Form 7 plugin
Is there a SubImageApply?
Nuclear decay triggers
Why doesn't mathematics collapse down, even though humans quite often make mistakes in their proofs?
Is there such a thing as too inconvenient?
Memory footprint of VAOs
Can Vertex Array Objects (VAOs) be shared across EAGLContexts in OpenGL ES?Draw using VAO with multiple VBOs and IBOs (multiple objects) OpenGLES 2 on iOSCPU bound rendering on iPad 3Where and what is “OpenGL memory” used by VBOs, etcOpenGL ES iOS drawing performance a lot slower with VBOs than withoutState preserving particle system for OpenGL ES 2.0OpenGL (ES 2.0 but not specific to ES): is GL_STATIC_DRAW meant for use with glBufferData?EXC_BAD_ACCESS when freeing a IBO and VAOObjective-c Opengl memory leakRepeates call glBufferData failed to allocate memory for new buffer
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
Can someone tell me how large VAOs are in cpu/gpu memory compared to VBOs? My plan was to allocate a large number of VAOs at program start as a pool, then assign them to certain render calls as needed.
Regards
opengl-es
add a comment |
Can someone tell me how large VAOs are in cpu/gpu memory compared to VBOs? My plan was to allocate a large number of VAOs at program start as a pool, then assign them to certain render calls as needed.
Regards
opengl-es
add a comment |
Can someone tell me how large VAOs are in cpu/gpu memory compared to VBOs? My plan was to allocate a large number of VAOs at program start as a pool, then assign them to certain render calls as needed.
Regards
opengl-es
Can someone tell me how large VAOs are in cpu/gpu memory compared to VBOs? My plan was to allocate a large number of VAOs at program start as a pool, then assign them to certain render calls as needed.
Regards
opengl-es
opengl-es
asked Mar 26 at 17:16
Desperado17Desperado17
1446 bronze badges
1446 bronze badges
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
VAOs are just meta-data - buffer bindings and offsets. VBOs are actual data buffers containing all of your vertex data. VAOs will be orders of magnitude smaller than VBOs.
That said, why do you want to create a pool of them? That implies you'll be recreating them at draw time, which somewhat defeats the point. The only real advantage of VAOs vs just direct binds and offsets is that you don't have the runtime cost of recreating them all the time ...
I have a pool of initialized VAOs. When an object doesn't need a vao anymore, it is returned to the pool but not deinitialized. If anothe object needs a vao it just takes one from the pool, changes the attribute bindings and uses it.
– Desperado17
Mar 27 at 18:35
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55362808%2fmemory-footprint-of-vaos%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
VAOs are just meta-data - buffer bindings and offsets. VBOs are actual data buffers containing all of your vertex data. VAOs will be orders of magnitude smaller than VBOs.
That said, why do you want to create a pool of them? That implies you'll be recreating them at draw time, which somewhat defeats the point. The only real advantage of VAOs vs just direct binds and offsets is that you don't have the runtime cost of recreating them all the time ...
I have a pool of initialized VAOs. When an object doesn't need a vao anymore, it is returned to the pool but not deinitialized. If anothe object needs a vao it just takes one from the pool, changes the attribute bindings and uses it.
– Desperado17
Mar 27 at 18:35
add a comment |
VAOs are just meta-data - buffer bindings and offsets. VBOs are actual data buffers containing all of your vertex data. VAOs will be orders of magnitude smaller than VBOs.
That said, why do you want to create a pool of them? That implies you'll be recreating them at draw time, which somewhat defeats the point. The only real advantage of VAOs vs just direct binds and offsets is that you don't have the runtime cost of recreating them all the time ...
I have a pool of initialized VAOs. When an object doesn't need a vao anymore, it is returned to the pool but not deinitialized. If anothe object needs a vao it just takes one from the pool, changes the attribute bindings and uses it.
– Desperado17
Mar 27 at 18:35
add a comment |
VAOs are just meta-data - buffer bindings and offsets. VBOs are actual data buffers containing all of your vertex data. VAOs will be orders of magnitude smaller than VBOs.
That said, why do you want to create a pool of them? That implies you'll be recreating them at draw time, which somewhat defeats the point. The only real advantage of VAOs vs just direct binds and offsets is that you don't have the runtime cost of recreating them all the time ...
VAOs are just meta-data - buffer bindings and offsets. VBOs are actual data buffers containing all of your vertex data. VAOs will be orders of magnitude smaller than VBOs.
That said, why do you want to create a pool of them? That implies you'll be recreating them at draw time, which somewhat defeats the point. The only real advantage of VAOs vs just direct binds and offsets is that you don't have the runtime cost of recreating them all the time ...
answered Mar 27 at 15:28
solidpixelsolidpixel
6,4921 gold badge12 silver badges24 bronze badges
6,4921 gold badge12 silver badges24 bronze badges
I have a pool of initialized VAOs. When an object doesn't need a vao anymore, it is returned to the pool but not deinitialized. If anothe object needs a vao it just takes one from the pool, changes the attribute bindings and uses it.
– Desperado17
Mar 27 at 18:35
add a comment |
I have a pool of initialized VAOs. When an object doesn't need a vao anymore, it is returned to the pool but not deinitialized. If anothe object needs a vao it just takes one from the pool, changes the attribute bindings and uses it.
– Desperado17
Mar 27 at 18:35
I have a pool of initialized VAOs. When an object doesn't need a vao anymore, it is returned to the pool but not deinitialized. If anothe object needs a vao it just takes one from the pool, changes the attribute bindings and uses it.
– Desperado17
Mar 27 at 18:35
I have a pool of initialized VAOs. When an object doesn't need a vao anymore, it is returned to the pool but not deinitialized. If anothe object needs a vao it just takes one from the pool, changes the attribute bindings and uses it.
– Desperado17
Mar 27 at 18:35
add a comment |
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55362808%2fmemory-footprint-of-vaos%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown