Ogre v1 vs Ogre v2

Anything and everything that's related to OGRE or the wider graphics field that doesn't fit into the other forums.
Post Reply
User avatar
Geotyper
Gnoblar
Posts: 23
Joined: Sat Aug 04, 2018 7:46 am
x 3

Ogre v1 vs Ogre v2

Post by Geotyper »

Use Ogre for my hobby projects.
For first time use Ogre v1. Than for projects with lot of objects use Ogre v2.
Ogre v1 looks more understandable for me.
But question is:
I don't find any benchmarks of this engines compare with other engines and the main compare v1 vs v2.
From main page of Ogre site you can read recommendations what version of engine to choose, but without any figures in benchmarks.
Agree with thesis that Ogre v2 is faster than Ogre v1 on big set of objects, but on my experience I can see any difference in fps on set of 30000 objects (i7& 1080Ti) in version V1(if use Ogre::InstanceManager::InstancingTechnique) and v2.
So where is this line between v1 and v2? Or this one thing but from different views.
Sorry for my English.
my youtube channel with some simple Ogre3D experiments https://www.youtube.com/channel/UClzOh1 ... vLw/videos
paroj
OGRE Team Member
OGRE Team Member
Posts: 1993
Joined: Sun Mar 30, 2014 2:51 pm
x 1073
Contact:

Re: Ogre v1 vs Ogre v2

Post by paroj »

you can find some benchmarks I did with 20k objects here: https://github.com/OGRECave/ogre/issues/662

However I focused on the default setup with scene nodes. If you use the InstanceManager you can go with far more nodes with v1. Feel free to add any benchmark results there if you got some.

If you skip the SceneNode updates on top, then the differences with v2 regarding object count are negligible.

The remaining difference is the HLMS in v2 which gives you built-in PBR as well as modern lighting solutions. However at the cost of forcing the HLMS framework on you if you want to write custom shaders.

Disclaimer: these are my biased views as the v1 maintainer.
loath
Platinum Sponsor
Platinum Sponsor
Posts: 290
Joined: Tue Jan 17, 2012 5:18 am
x 67

Re: Ogre v1 vs Ogre v2

Post by loath »

thanks for all of the awesome perf work on 1.x paroj!
al2950
OGRE Expert User
OGRE Expert User
Posts: 1227
Joined: Thu Dec 11, 2008 7:56 pm
Location: Bristol, UK
x 157

Re: Ogre v1 vs Ogre v2

Post by al2950 »

This is a tricky question, and actually something I would like to do some more tests on if I had time. I am a V2.2 user, but I have been using Ogre for over 10 years.

One thing to point out is the benchmarks Paroj pointed out are using Ogre 2.0, as shown he has done some awesome work on Ogre 1.x to improve the CPU performance side of the rendering pipeline bringing it inline with Ogre 2.0, especially if you use instancing.

However Ogre 2.1+ has focused on improving the GPU performance side, this includes auto instancing. I have not been following Ogre 1.x so I might be wrong about this, but I do not believe Ogre 1.x has focused quite so heavily on this? So depending on the scene you may see large differences.

My view of Ogre 1 vs 2 is; if you dont need bleeding edge performance and features, then use V1 as there is over a decade of useful tutorials, code snippets and libraries, also Paroj has a nice stable release schedule.

I am very tempted though to do a new benchmark comparing the 2 develop branches of Ogre and Ogre-Next (v2) :)

Oh, one of the other reasons to use V1, is if you are targeting mobile. However work has recently started on Vulkan render system, so that may change soon. There has been quite a lot of work in the background of Ogre 2 preparing it so the common constructs would be compatible with Vulkan and Dx12
paroj
OGRE Team Member
OGRE Team Member
Posts: 1993
Joined: Sun Mar 30, 2014 2:51 pm
x 1073
Contact:

Re: Ogre v1 vs Ogre v2

Post by paroj »

al2950 wrote: Thu Nov 14, 2019 11:37 am However Ogre 2.1+ has focused on improving the GPU performance side, this includes auto instancing. I have not been following Ogre 1.x so I might be wrong about this, but I do not believe Ogre 1.x has focused quite so heavily on this? So depending on the scene you may see large differences.
ah, yes.. 2.1 also improves batching by packing different textures in one texture array - something that you have to manage manually in v1.

Furtheremore, it orders renderables by macro-blocks to reduce state-changes. When v2 started, v1 was still sorting by Texture which was tuned for FFP. Nowadays we sort by Shader. However, in v1 you still get some benefit by enabling state caches, so we are not optimal there.

Therefore It would be interesting to do some benchmarks targeting state changes between v1 / v2.
User avatar
blitzcoder
Halfling
Posts: 99
Joined: Wed Oct 09, 2019 4:06 am
x 18
Contact:

Re: Ogre v1 vs Ogre v2

Post by blitzcoder »

Aside from the focus on improving GPU performance, is Vulkan rendering support exclusive to 2.x or will there be plans on Vulkan rendering on 1.1x as well?
New Blitz3D/BlitzBasic/BlitzMax Home - https://blitzcoder.org
paroj
OGRE Team Member
OGRE Team Member
Posts: 1993
Joined: Sun Mar 30, 2014 2:51 pm
x 1073
Contact:

Re: Ogre v1 vs Ogre v2

Post by paroj »

blitzcoder wrote: Sat Nov 16, 2019 1:04 pm Aside from the focus on improving GPU performance, is Vulkan rendering support exclusive to 2.x or will there be plans on Vulkan rendering on 1.1x as well?
once Vulkan is ready in 2.2, I will definitely consider back-porting it to v1. However, I do not expect any benefits from Vulkan except GLSL compiler independence on Android. (That could be also achieved if GL_ARB_gl_spirv is updated for GLES)

See: https://arm-software.github.io/vulkan_b ... advantages
User avatar
blitzcoder
Halfling
Posts: 99
Joined: Wed Oct 09, 2019 4:06 am
x 18
Contact:

Re: Ogre v1 vs Ogre v2

Post by blitzcoder »

paroj wrote: Sat Nov 16, 2019 3:18 pm once Vulkan is ready in 2.2, I will definitely consider back-porting it to v1. However, I do not expect any benefits from Vulkan except GLSL compiler independence on Android. (That could be also achieved if GL_ARB_gl_spirv is updated for GLES)

See: https://arm-software.github.io/vulkan_b ... advantages
Awesome! :D just curious if the Metal renderer will be backported as well. If I understand correctly, OpenGL would still work on MacOS but not sure how longer on iOS though (OpenGL ES) since they are really pushing Metal now.
New Blitz3D/BlitzBasic/BlitzMax Home - https://blitzcoder.org
paroj
OGRE Team Member
OGRE Team Member
Posts: 1993
Joined: Sun Mar 30, 2014 2:51 pm
x 1073
Contact:

Re: Ogre v1 vs Ogre v2

Post by paroj »

blitzcoder wrote: Sun Nov 17, 2019 2:00 pm Awesome! :D just curious if the Metal renderer will be backported as well. If I understand correctly, OpenGL would still work on MacOS but not sure how longer on iOS though (OpenGL ES) since they are really pushing Metal now.
yes, it is also on the todo list - but I currently lack access to an OSX machine to do the development. Also Apple is facing quite some backlash regarding their OpenGL decision, so lets see when it actually happens.
Post Reply