jakj Posted October 12, 2012 Share Posted October 12, 2012 Immediate (glBegin/glEnd): - Most flexible in ordering, data specification, and memory usage - Slow as fuck Vertex Arrays: - Fewer function calls, leading to greater efficiency - Greater memory usage Vertex Buffer Objects: - Fastest possible, storing data directly on the card - Can blow apart a card's memory very quickly, dragging down the entire program The dilemma: Minecraft is already a hog, and the situation where VBOs would truly be valuable (as in, where performance actually degrades: large complex models) are also where they would be least successful (few people are likely to use giant models, and video-card memory is precious). For lots of little models, in theory VBOs could help, but considering the fragmented nature of a mod, near-impossible to truly optimize and utilize. Most of the techniques that can be used when making a whole program, break down when having to inject code into an existing program that doesn't even use the same methods. My thought so far: I think vertex arrays are probably the best way to go. It's more memory, but it's all system memory, which is slower but more plentiful. Some of my transformations have to be cached anyway, instead of just using render-time matrices, so it may as well be cached in vertex arrays, which (as far as I can tell) can be used like any other array in the mean time. This mod already requires a video card with shader support, so, at a rough guess...six-ish year old cards? Something like that. And really, people aren't going to be running out of system memory on computers that modern. Thoughts? Link to comment Share on other sites More sharing options...
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!Register a new account
Already have an account? Sign in here.Sign In Now