Openmw's design

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
Post Reply
User avatar
ElderTroll
Posts: 499
Joined: 25 Jan 2012, 07:01

Openmw's design

Post by ElderTroll »

I had some questions regarding openmw's engine compared to vanilla morrowind's.

Is openmw being designed to efficiently handle modern hardware? I've heard morrowind's engine does not take advantage of gpu's very well. Does openmw's use of ogre3d resolve that problem? I've heard that because morrowind is a 32 bit application it is limited to 2gbs of ram. Is openmw being developed as a 64 bit application?
User avatar
gus
Posts: 390
Joined: 11 Aug 2011, 15:41

Re: Openmw's design

Post by gus »

I've heard that because morrowind is a 32 bit application it is limited to 2gbs of ram. Is openmw being developed as a 64 bit application?
Yes and No. I think it can be compiled as a 64 bits application. But (at least on windows), it think that most of us compile it as 32 bits. But 2gb is already pretty big, and should be sufficient for almost every use.
Is openmw being designed to efficiently handle modern hardware? I've heard morrowind's engine does not take advantage of gpu's very well. Does openmw's use of ogre3d resolve that problem?
Again, yes and no. Morrowind don't, so we don't. Let me explain: morrowind don't use much shader, so it doesn't use much the power of modern GPU.
Of course, Ogre can use shaders. But using shader (or not) is in most cases up to the artist. So as long as we don't provide modders the ability to use shader, openMW won't take advantage of modern GPU.

Another problem is that morrowind was clearly not design to have big distance of view in outdoor cells: there are tons of different objects whith different textures etc, so it creates a huge number of batches which really slows down performances.
To be more precise, a batch is a set of data sent to the GPU together. When there is no optimisation at all, each object you want to display on the GPU "become" a batch.
In OpenMW, each objects with a different texture "become" a batch (objects with the same texture are grouped together).
The whole point is that the time for the GPU to do the computation for smalls objects (and most objects in morrowind are small^^) is lower than the time to change batch. So the bottleneck is not the complexity of the geometry, or even shaders (IRC, in my GPU, shader units are not used at all...), it's the number of objects with different materials (ie texture).

So in most cases, it's up to the artist to solve these problems (have you ever noticed how few different trees there were in oblivion, and how few different objects there are outside? you have the reason here: less tree/object models, better performances) even if we might be able to provide some (painful) optimization by doing the artist job at runtime using texture atlases (but it would slow down loading time....).

Of course, that doesn't mean there isn't room for optimization in OpenMW, but it means that some optimizations have to be done by artists.
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: Openmw's design

Post by Zini »

Yes and No. I think it can be compiled as a 64 bits application. But (at least on windows), it think that most of us compile it as 32 bits. But 2gb is already pretty big, and should be sufficient for almost every use.
OpenMW can be compiled for 64 bit on Windows. We had binary 64 bit releases occasionally. It kinda depends on what the current Windows packager has available. But for OpenMW we will make certain that there is a 64 bit package.
Of course, Ogre can use shaders. But using shader (or not) is in most cases up to the artist. So as long as we don't provide modders the ability to use shader, openMW won't take advantage of modern GPU.
Which will be most likely one of the first features after 1.0.
Post Reply