Object LOD for OpenMW

Feedback on past, current, and future development.
CounterPillow
Posts: 5
Joined: 22 Apr 2012, 14:06

Re: Object LOD for OpenMW

Post by CounterPillow » 12 Mar 2014, 18:25

Before anyone works on any "performance enhancements", there are a few things to consider:

Is it even a bottleneck? From what I've heard, actual geometry complexity is rarely the bottleneck these days. Adding LOD to the original Morrowind models makes no sense in that way, as it's most likely not going to be an issue.

Furthermore, creating more detailed models would involve adding/changing features beyond Morrowind's original scope, which is not the current focus, from what I understand,

Either way, it's a lot of work for little to no gain in the project's current state.
sirherrbatka wrote:
I think multi-threading will prove to be very useful.
I don't think we can multi-thread draw calls, so our rendering will remain slow.
Yes and no. Multithreading drawcalls can't really be done and workarounds/hacks are usually not worth it since most drivers work in a very single-threaded manner, however, reducing driver (and Ogre3D) overhead is critical here. I can only speak for OpenGL here, but OpenGL is very stateful and depending on the order and the way you specify changes to the state, it can leave away some error-checking, nvidia actually gave a cool talk on this, but since OpenMW utilises Ogre3D, it comes down to making Ogre3D less dumb.
wheybags wrote:I suspect real time generation would be too slow
Geometry shaders, tessellation shaders. But again, adding more geometry goes beyond what OpenMW 1.0 is trying to achieve, from what I understand, and adding reducing geometry is most likely just a workaround for inefficient 3d engine code.

What needs to be done is a lot of profiling to find the actual bottlenecks.

Chris
Posts: 1583
Joined: 04 Sep 2011, 08:33

Re: Object LOD for OpenMW

Post by Chris » 12 Mar 2014, 20:19

CounterPillow wrote:I can only speak for OpenGL here, but OpenGL is very stateful and depending on the order and the way you specify changes to the state, it can leave away some error-checking, nvidia actually gave a cool talk on this, but since OpenMW utilises Ogre3D, it comes down to making Ogre3D less dumb.
We can always create a custom RenderSystem, and tell Ogre to use that instead of its own RenderSystems (though they could still optionally be used). That would be some significant work though, and it's basically what Ogre needs done (a rewrite of its GL plugin, to not use the API so naively; constantly reseting the GL context, lots of

Code: Select all

old = glGet();
glBind(object_to_update);
/* update object */;
glBind(old);
etc). There could also be some shortcomings in Ogre itself that limits the amount of optimizations you could do that was talked about in that video, but there's definite room for improvement by rewriting the GL RenderSystem.

Tarius
Posts: 574
Joined: 24 Oct 2011, 19:29

Re: Object LOD for OpenMW

Post by Tarius » 12 Mar 2014, 23:28

CounterPillow wrote:Before anyone works on any "performance enhancements", there are a few things to consider:

Is it even a bottleneck? From what I've heard, actual geometry complexity is rarely the bottleneck these days. Adding LOD to the original Morrowind models makes no sense in that way, as it's most likely not going to be an issue.

Furthermore, creating more detailed models would involve adding/changing features beyond Morrowind's original scope, which is not the current focus, from what I understand.
I dont think anyone here is advocating adding LOD to the original models. Whats being advocated if the ability to add it to models if you wish.(which could include the originals, but that makes no sense and I doubt anyone would bother trying)
I am a bigger fan of tons of control rather than taking the "user-friendly" approach.
-Okulo

Post Reply