Irrlicht Performance
Irrlicht Performance
Hi there,
haven't used Irrlicht for quite a while, but had a look at it every now and then, it's becoming better and better The thing that interests me now is the performance, the features i need which aren't implemented yet would be a piece of a cake to implement, so the only thing i need to know is whether Irrlicht is fast enough or not. I know that there were some API changes and a slight rework of the internal design, did it bring any significant performance increases?
greetz
R2
haven't used Irrlicht for quite a while, but had a look at it every now and then, it's becoming better and better The thing that interests me now is the performance, the features i need which aren't implemented yet would be a piece of a cake to implement, so the only thing i need to know is whether Irrlicht is fast enough or not. I know that there were some API changes and a slight rework of the internal design, did it bring any significant performance increases?
greetz
R2
R2D2's Irrlicht Mods
Messed up with my database so the page is not working at the moment -.-
CPU: Core 2 Quad Q6700RAM: 4096 mb Graphics: Radeon 4850 512mb Sound: on board InternetConnection: DSL
Messed up with my database so the page is not working at the moment -.-
CPU: Core 2 Quad Q6700RAM: 4096 mb Graphics: Radeon 4850 512mb Sound: on board InternetConnection: DSL
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
Yes, because the SVN trunk version now supports VBOs, i.e. hardware mesh buffers. This reduces the amount of information uploaded to the GPU each frame significantly, and can boost the performance between 2-10 times. Other things include enhanced memory handling for textures (dx only, yet) and some important improvements to reduced render state changes under OpenGL. So I guess that you should definitely be able to get much better performance with Irrlicht 1.5 compared to older versions. I haven't done tests, yet, though.
Sounds quite interesting Do you know any details about how VBOs are used in Irrlicht or has it already been documented somewhere?
Does Irrlicht do back to front rendering by itself or do i have to take care about that?
Does Irrlicht do back to front rendering by itself or do i have to take care about that?
R2D2's Irrlicht Mods
Messed up with my database so the page is not working at the moment -.-
CPU: Core 2 Quad Q6700RAM: 4096 mb Graphics: Radeon 4850 512mb Sound: on board InternetConnection: DSL
Messed up with my database so the page is not working at the moment -.-
CPU: Core 2 Quad Q6700RAM: 4096 mb Graphics: Radeon 4850 512mb Sound: on board InternetConnection: DSL
About VBOs IIRC there was some thread not long ago that hybrid explained how to use'em so I believe you'll be able to find it with a little search.
How to use them can be found here, a little bit about the internal workings here but what really interests me, these threads are a few months old, but what interests me is about how is it working now? What is the Engine internally doing? I haven't had a look at the Irrlicht Source for quite some time, so i would first have to get into it again, but that would take some time and wouldn't be necessary if everything has already been documented yet. In OpenGL there are for example a few different types of VBOs, which one is used in Irrlicht?
Are pixelbuffers implemented in Irrlicht?
Are pixelbuffers implemented in Irrlicht?
R2D2's Irrlicht Mods
Messed up with my database so the page is not working at the moment -.-
CPU: Core 2 Quad Q6700RAM: 4096 mb Graphics: Radeon 4850 512mb Sound: on board InternetConnection: DSL
Messed up with my database so the page is not working at the moment -.-
CPU: Core 2 Quad Q6700RAM: 4096 mb Graphics: Radeon 4850 512mb Sound: on board InternetConnection: DSL
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
No pixelbuffers. The buffers are created on the first meshbuffer drawing (if requested) and is used instead of the mesh upload for all of the next draw calls. If the mesh changed in between (the setDirty flag is set) the buffer is updated. A hw buffer is deleted from GPU memory once it hasn't been used for some predefined time (IIRC its 1000 frames ATM). The other methods should naturally map to OpenGL methods.
Irrlicht does back to front rendering only for transparent mesh buffers, but wouldn't make sense otherwise.
Irrlicht does back to front rendering only for transparent mesh buffers, but wouldn't make sense otherwise.
AFAIK some shadereffects need back to front drawing or at least they look much better if done that way.
Any plans on implementing pixelbuffers yet?
Any plans on implementing pixelbuffers yet?
R2D2's Irrlicht Mods
Messed up with my database so the page is not working at the moment -.-
CPU: Core 2 Quad Q6700RAM: 4096 mb Graphics: Radeon 4850 512mb Sound: on board InternetConnection: DSL
Messed up with my database so the page is not working at the moment -.-
CPU: Core 2 Quad Q6700RAM: 4096 mb Graphics: Radeon 4850 512mb Sound: on board InternetConnection: DSL
I imagine shader effects would only need rendering back to front if they did transparency blending, otherwise there's probably no need...
I think they're drawn last, just before all the transparency stuff. Or they're drawn after the transparency stuff, not sure, but i don't think they're ordered. You can check the code in CSceneManager yourself.
I think they're drawn last, just before all the transparency stuff. Or they're drawn after the transparency stuff, not sure, but i don't think they're ordered. You can check the code in CSceneManager yourself.
Just use a transparent base material and they will be rendered back to front along with all the other transparent stuff.r2d2 wrote:AFAIK some shadereffects need back to front drawing or at least they look much better if done that way.
Any plans on implementing pixelbuffers yet?
Incase you were talking about front face culling, then that was also recently implemented in the SVN.
By pixelbuffers do you mean R2VB? I'm sure that sort of thing wont be on the developers list for another 100 years, but if you want to submit a patch feel free to do so.
Cheers
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
Pixelbuffers are more or less the same as Vertexbuffers, the only difference is that they are normally used to store pixeldata, e.g. textures, in GPU RAM. If PBs aren't implemented are Frambufferobjects implemented? They provide windowing system independent drawing contexts implementing render to texture with the help of FBOs is far the best and especially the fastest way. You can also use FBOs to render offscreen and use the results for special shader effects.
R2D2's Irrlicht Mods
Messed up with my database so the page is not working at the moment -.-
CPU: Core 2 Quad Q6700RAM: 4096 mb Graphics: Radeon 4850 512mb Sound: on board InternetConnection: DSL
Messed up with my database so the page is not working at the moment -.-
CPU: Core 2 Quad Q6700RAM: 4096 mb Graphics: Radeon 4850 512mb Sound: on board InternetConnection: DSL
No i really was talking about PBOs sorry for that, but they are really hard to distinguish between, at least sometimes but FBOs should also suit my needs perfectly
R2D2's Irrlicht Mods
Messed up with my database so the page is not working at the moment -.-
CPU: Core 2 Quad Q6700RAM: 4096 mb Graphics: Radeon 4850 512mb Sound: on board InternetConnection: DSL
Messed up with my database so the page is not working at the moment -.-
CPU: Core 2 Quad Q6700RAM: 4096 mb Graphics: Radeon 4850 512mb Sound: on board InternetConnection: DSL