Irrlicht and Speed

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
master123467
Posts: 60
Joined: Mon Jan 02, 2006 6:03 pm
Contact:

Irrlicht and Speed

Post by master123467 »

i really thnk irrlicht needs some speed boosts and all for good games to run faster and stabler
Baal Cadar
Posts: 377
Joined: Fri Oct 28, 2005 10:28 am
Contact:

Post by Baal Cadar »

Be more specific, if you want to have a real discussion going on here. If you have identified bottle necks specifically or problematic scenarios more generally: Speak up! Else this thread is pointless..
No offense :)
lingwitt
Posts: 47
Joined: Mon Jun 19, 2006 9:38 am

Post by lingwitt »

This may seem simple to say, but make sure you optimize your binary with the proper compiler flags. This can tremendously improve performance; at least it did for me.
zeno60
Posts: 342
Joined: Sun May 21, 2006 2:48 am
Location: NC, USA
Contact:

Post by zeno60 »

It also depends on your system/video card etc. and even irrlicht settings. For example, a simple irrlicht 3d scene containing an ordinary 12 by 12 foot room will run at around 9 FPS with OpenGL as the driver. But sometimes up to 1000 with DirectX9. Also an app that runs at 200 or so FPS on my system can only run around 20 on my laptop which has far lesser capabilities.
elander
Posts: 193
Joined: Tue Oct 05, 2004 11:37 am

Post by elander »

"For example, a simple irrlicht 3d scene containing an ordinary 12 by 12 foot room will run at around 9 FPS with OpenGL as the driver. But sometimes up to 1000 with DirectX9. "

I think you have been using Ogre too much. It runs its demos around 20%-50% slower with OpenGl than their DirectX driver. The problem is that they don't know how to program in OpenGL and give a bad image to that api. A lot of people who create free indie engines are better dx programmers than ogl programmers and that's what gives ogl the bad image.

I ran a collision demo in Ogre similar to the quake level in Irrlicht. I got less around 400 fps with DirectX and 300 fps with OpenGl which is patetic. Bad drivers and api quality is not an excuse here. I made tests to my drivers with several benchmark apps and some games (modern and old) and there is no difference. Irrlicht with the quake level demo, a similar demo if not bigger, the OpenGL renderer can get 500+ fps.

Speed is certainly not the problem i find with Irrlicht. The reason why it and not Ogre, even if it has less features and it's a bit more buggy. I don't want to download 50Mb (the minimal sdk) to run my games slow and have to dig trough tons of bloated and over-specified apis.
zeno60
Posts: 342
Joined: Sun May 21, 2006 2:48 am
Location: NC, USA
Contact:

Post by zeno60 »

elander wrote:"For example, a simple irrlicht 3d scene containing an ordinary 12 by 12 foot room will run at around 9 FPS with OpenGL as the driver. But sometimes up to 1000 with DirectX9. "

I think you have been using Ogre too much. It runs its demos around 20%-50% slower with OpenGl than their DirectX driver. The problem is that they don't know how to program in OpenGL and give a bad image to that api. A lot of people who create free indie engines are better dx programmers than ogl programmers and that's what gives ogl the bad image.

I ran a collision demo in Ogre similar to the quake level in Irrlicht. I got less around 400 fps with DirectX and 300 fps with OpenGl which is patetic. Bad drivers and api quality is not an excuse here. I made tests to my drivers with several benchmark apps and some games (modern and old) and there is no difference. Irrlicht with the quake level demo, a similar demo if not bigger, the OpenGL renderer can get 500+ fps.

Speed is certainly not the problem i find with Irrlicht. The reason why it and not Ogre, even if it has less features and it's a bit more buggy. I don't want to download 50Mb (the minimal sdk) to run my games slow and have to dig trough tons of bloated and over-specified apis.
I have never used Ogre in my life, and for that reason. I should have noted that the 12x12 room example I mentioned was only on my own system.
lingwitt
Posts: 47
Joined: Mon Jun 19, 2006 9:38 am

Post by lingwitt »

The OpenGL backend is being cleaned up as we speak. DirectX 9 will be cleaned up as well.
stodge
Posts: 216
Joined: Fri Dec 05, 2003 5:57 pm

Post by stodge »

"The problem is that they don't know how to program in OpenGL and give a bad image to that api. A lot of people who create free indie engines are better dx programmers than ogl programmers and that's what gives ogl the bad image. "

That's a little harsh I must say and I don't believe it to be true.
elander
Posts: 193
Joined: Tue Oct 05, 2004 11:37 am

Post by elander »

No it's true. Blame the tool not yourself seams to be the moto when programing game engines these days. It's true that bad drivers complicate things a bit but people use the drivers and api excuse too often. I think the same applies to people who use game engines. This is not an easy tool for anyone to use but one thing im sure about and you can get all the stats you want from www.opengl.org, the REAL difference between opengl and directx depends only and slightly on drivers quality and this is only a marginal difference.
Baal Cadar
Posts: 377
Joined: Fri Oct 28, 2005 10:28 am
Contact:

Post by Baal Cadar »

elander, exactly: Blame yourself instead of the tool.
Your naive "benchmarking" approach is totally meaningless. You can't just take two different super simple scenes that render with 300+ fps and try to draw any conclusions out of it. The differences of 300 and more fps are totally meaningless. Your eye and monitor are way to slow to make any difference anyway.

And you can't simply assume a linear relationship between scene complexity and FPS you get. That's plain wrong. When scenes get more complex, tides can turn and most probably will. Ogre has a greater constant overhead, due to many cachings and checks. These don't help in a simple static scene. But they help preventing unnessecary calculations in crowded more dynamic scenes. If you use dynamic shadows, have skeletal animated meshes and use advanced lighting techniques, these cachings and checks might come in handily. I say "might" because I have not done any benchmarking myself and don't know about any being done.

If you want to do proper benchmarking, then define different scenarios, implement them the same way on the different engines and try them out on different computers.

Btw: Please repair the last sentence in your last post. I can't get any meaning out of it...
No offense :)
elander
Posts: 193
Joined: Tue Oct 05, 2004 11:37 am

Post by elander »

Baal Cadar wrote:elander, exactly: Blame yourself instead of the tool.
Your naive "benchmarking" approach is totally meaningless. You can't just take two different super simple scenes that render with 300+ fps and try to draw any conclusions out of it. The differences of 300 and more fps are totally meaningless. Your eye and monitor are way to slow to make any difference anyway.
How can you call something naive without knowledge of how it was done? This subject has been discussed to dead in bechmark forums and the conclusion is that there is NO significant performance difference between opengl and directx when you have the latest and healthy drivers and without instalation problems.
Baal Cadar wrote:Ogre has a greater constant overhead, due to many cachings and checks. These don't help in a simple static scene. But they help preventing unnessecary calculations in crowded more dynamic scenes.
Baal Cadar wrote:If you use dynamic shadows, have skeletal animated meshes and use advanced lighting techniques, these cachings and checks might come in handily. I say "might" because I have not done any benchmarking myself and don't know about any being done.
A lot of other open-source engines do that and are way faster than Ogre. Irrlicht is faster than Ogre in both simple and complex scenes with a good programmer that knows how to optimize the game. There are no secrets about scenegraph optimizations and caching techniques. All algortihms can be found in selected books and on specific sites.

The advantage of Ogre is the services it provides, like the mesh format, the scene format all the working exporters available for 3dstudio, maya and blender and a ton of utility services they provide to help people make their games without so much fuss.

However there is a drawback with this. Relying on Ogre generic optimizations will often result in a slower engine. If you realy want to optimize your game then create your own caches from scratch and build your own scenegraph optimization techniques that can predict how your game works.
Baal Cadar wrote:If you want to do proper benchmarking, then define different scenarios, implement them the same way on the different engines and try them out on different computers.
I think the confusion here is that you don't understand benchkmarks. Like i said i do hardware and software tests for a long time and im very confident on my system hardware and stability so i don't need to test on a different computer to know if my system is well tuned or not. If you know how to benchmark your system you don't need to do that.

What other reason would you have to benchmark the Ogre demos in another computer? We are not trying to measure how the engine scales down but comparing the differences between the OGL renderer and the DX renderer.

So blaming OpenGL when the Ogre engine performs poorly would be just plain ignorance. The problem is the OpenGL renderer they have that isn't optimized.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

elander, if you really would know OpenGL then you would also know that Irrlicht only supports a fragment of the whole features. Most importantly the performance critical storing of mesh information on the gfx card is missing (as ointed out in many threads and by the implementation in IrrSpintz). Moreover several pecularities are still in which additionally slow down the use of OpenGL within Irrlicht. There might be some drawbacks in Ogre's OpenGL usage as well, but Irrlicht requires definitely some work there.
After all, your way of 'benchmarking' is childish if any. So lets hope you're still that young that you can learn about. Real benchmarking requires experience and professional techniques.
Baal Cadar
Posts: 377
Joined: Fri Oct 28, 2005 10:28 am
Contact:

Post by Baal Cadar »

elander, as much as you wrote wordwise, as little information you actually transported with it.

I don't doubt in the slightest, that OpenGL/DirectX has, optimal drivers for both provided, almost equal performance traits. All I doubt are your benchmarking skills.
You failed to provide informations on your scenario and hardware. And the little information on your scenario you mentioned here don't make me believe in the merits of it. The scenes you chose are different and have too little complexity to tell anything. And for your remark, about more complex scenes you fail to provide any information at all. This is not benchmarking, this is guess-work.

Also what exactly do you believe the Ogre OpenGL renderer does wrong. There really is not much that can be done wrong. There are no known state leaks in the OpenGL renderer (If they become known, they are fixed within hours) and the way textures, material properties and buffers are set is straight forward. There simply is not much room for errors. So speak up, when you know more here.
And don't for a minute believe the Ogre-Team to be noobs with OpenGL. Their OpneGL-knowledge is most-likely not less than Irrlicht-Teams OpenGL-knowledge. If you want to propose the opposite, bring up hard evidence or stop this silly slander.

The notion, that one individual system suffices for reliable benchmarking data is laughable and shows indeed, that you are the one who has no clue on benchmarking. (though I will happily admit that I am no expert on this topic either) At least I have a bit of training in that regard. And thus I know that a benchmarking result is only valid for the exact scenario and system it has been run with and that interpretion requires experiments, that have to be planned properly as to what you want to determine and how you design the scenario so you get knowledge and to also have scenarios available that rule out other explainations for the observations you make. You didn't provide anything like this.

Just running some simple CPU-bound BSP scene, which is not even the same for both engines and assume to be able to read anything from it is *not* benchmarking. Anything but.

Still, you are right, when you say, that one should provide his/her own optimised scene management, if you want top performance. This is true for both irrlicht and ogre though. In Ogre with a specialised SceneManager, in Irrlicht with specialised SceneNodes.
No offense :)
master123467
Posts: 60
Joined: Mon Jan 02, 2006 6:03 pm
Contact:

Post by master123467 »

one thing i would like to no is way my dads pc gets the same opengl fps as me when his pc is way better

my pc

amd athlon 1.1ghz
FX5200 64bit 128mb opengl 1.4
384mb ram

dads pc
AMD athlon XP 3200+
1gb ram
geforce TI4600

we both get 60fps in my game in opengl
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Wonderful. The glory vsync pitfall. Benchmark succeeded :lol:
Post Reply