Comments on first try

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
User avatar
akortunov
Posts: 668
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Comments on first try

Post by akortunov » 03 Jan 2020, 07:10

Time4Tea wrote:
03 Jan 2020, 04:49
but couldn't it be possible to load up just the structures and larger vegetation for the more distant tiles, without the smaller stuff, creatures, items, etc?
It does not really help.

Time4Tea
Posts: 28
Joined: 01 Jan 2020, 00:27

Re: Comments on first try

Post by Time4Tea » 03 Jan 2020, 15:16

akortunov wrote:
03 Jan 2020, 07:10
Time4Tea wrote:
03 Jan 2020, 04:49
but couldn't it be possible to load up just the structures and larger vegetation for the more distant tiles, without the smaller stuff, creatures, items, etc?
It does not really help.
Ok. Is that because most of the performance overhead is being caused by the larger objects anyway?

User avatar
AnyOldName3
Posts: 1672
Joined: 26 Nov 2015, 03:25

Re: Comments on first try

Post by AnyOldName3 » 03 Jan 2020, 21:27

Time4Tea wrote:
03 Jan 2020, 04:49
AnyOldName3 wrote:A few years ago, three years was very old for a GPU. However, Nvidia have realised that they can make more money by not releasing new GPUs very often and charging more for them when they do, so there's only one generation of cards that's newer, and none aim for the same price point as the GTX 1050. That might be why you thought your card was getting old when it kind of isn't.
Ok, that's interesting and quite surprising. I have to admit I haven't done much shopping around for GPUs since I bought this one. Nvidia isn't the only GPU company though - they must have quite a dominant position in the market, if they can afford to just sit back and release new product at their leisure like that. I imagine it must also be affecting new game development, if consumers aren't upgrading their hardware as often as in the past?
The only other serious player is AMD, and due to a combination of bad business decisions and less effective marketing (some might attribute that to less ethically/legally questionable marketing, but that's not been the only issue), their products aren't impressive enough to make Nvidia drop their prices. Even when they've had the better hardware at better prices, they've tended to be outsold by Nvidia.

It's actually got so close to a monopoly that Intel have decided they're going to start selling high-end GPUs.
Time4Tea wrote:
03 Jan 2020, 04:49
AnyOldName3 wrote:Part of the reason why a decent modern GPU can't do as much as you'd hope in OpenMW with long draw distances is that things were done pretty differently twenty years ago when Morrowind was being made. Things like long draw distances weren't a concern as no computer that existed could handle them, and things that seemed like good ideas or not to matter one way or the other on the hardware that existed at the time often don't scale well. There are some things OpenMW can do about this but doesn't yet, and other things it won't ever be able to do. Overall, things should get better over time.
Ok, thanks for the info, that's very enlightening. This probably isn't a contender for original idea of the week, but couldn't it be possible to load up just the structures and larger vegetation for the more distant tiles, without the smaller stuff, creatures, items, etc? I'm sure doing it is easier said than done though. Anyway, it's great to hear that there are some things in the pipeline to improve performance with larger draw distances and I look forward very much to seeing the future releases.
There's the small feature culling setting and the small feature culling pixel size setting that goes with it, and they can help a bit. However, Morrowind likes to make up big objects out of several smaller objects, so you sometimes have things that are very visible completely disappear, or, even worse, partially disappear when it's turned up more than a little bit.
AnyOldName3, Master of Shadows

Time4Tea
Posts: 28
Joined: 01 Jan 2020, 00:27

Re: Comments on first try

Post by Time4Tea » 04 Jan 2020, 17:08

AnyOldName3 wrote:There's the small feature culling setting and the small feature culling pixel size setting that goes with it, and they can help a bit. However, Morrowind likes to make up big objects out of several smaller objects, so you sometimes have things that are very visible completely disappear, or, even worse, partially disappear when it's turned up more than a little bit.
Ok, thanks. I'll take a look at that.

Time4Tea
Posts: 28
Joined: 01 Jan 2020, 00:27

Re: Comments on first try

Post by Time4Tea » 22 Jan 2020, 15:29

Hi, I just want to add some more comments, based on some further playthrough time, trying different options and investigating the profiler (probably nothing you don't know already).

Firstly, I want to retract my earlier supposition that the performance was being limited by the GPU. I have found that changing the resolution setting has practically no effect on the FPS - max. res is almost invariably just as quick as if I halve it. So, I take it that means the performance is actually being limited by the CPU, rather than the GPU? The largest bars on the profiler generally seem to be culling and sometimes physics as well. Are those stages both handled by the CPU? Is it literally just the orange bar labelled 'GPU' that is being done on the GPU? My CPU is a 4-core Intel Core i5, 3.3 GHz.

Also, I previously had a groundcover mod enabled, as well as shadows. Turning off the groundcover made a HUGE difference to the FPS (presumably because it was greatly multiplying the number of meshes having to be dealt with) and the shadows did a bit as well. Without those two, I can run it with a cell load distance of 4 and, even in pretty busy city areas, the FPS rarely drops below about 15, which seems very playable. I can stand on the hill just to the West of Balmora and, looking East, I can see Balmora, the Moonmoth Fort and the dwemer ruins on the mountain behind, all at the same time and the FPS is around 30.

I know I'm being a bit naughty and going against Capostrophic's advice by using an increased cell load distance. However, I've played through quite a few areas and quests in Tamriel Rebuilt with it and I haven't noticed it causing any issues so far. Again, I just want to reiterate that this is really an amazing project and you're all doing some fantastic work guys - bravo! :D

User avatar
AnyOldName3
Posts: 1672
Joined: 26 Nov 2015, 03:25

Re: Comments on first try

Post by AnyOldName3 » 22 Jan 2020, 22:20

ECLD at four means you'll miss a lot of stuff. Tarhiel will fall from the sky as soon as you step on the top deck of the boat at the beginning and a bunch of other events will fire too early.

OpenMW uses a forward renderer with pretty simple fragment shading. That means that there's not a big difference in the amount of work the GPU needs to do if you increase the resolution. Lots of other games these days use deferred renderers with really complicated fragment shading, so resolution affects the GPU load a lot.

For a lot of people, the limiting factor in OpenMW is the CPU and GPU talking to each other - there's a very large number of simple objects with different settings for each, so instead of the CPU just being able to say draw everything in this buffer and letting the GPU get to work, it has to micromanage things. If you get a faster GPU, each step gets faster, so it takes less time to draw everything, but a GPU that's twice as fast won't be able to draw a frame in half the time.

The cull phase is done on the CPU, but it does a lot of the handling of all the small objects - it's that step that determines what needs to be drawn and how, so many of the types of thing that make drawing slow make it slow, too.

By the way, saying you've got a 4-core Intel Core i5 at 3.3 GHz isn't very specific. The i5 name has been used for so long now that CPUs have significantly increased what they can do per clock cycle, so the worst ever 3.3 GHz quad-core i5 is probably half as fast as the best.
AnyOldName3, Master of Shadows

Time4Tea
Posts: 28
Joined: 01 Jan 2020, 00:27

Re: Comments on first try

Post by Time4Tea » 23 Jan 2020, 15:22

@AnyOldName3: Ok. Mine is a Core i5-3330. Third generation, so I guess that's pretty old now (It's a fairly low-end Dell desktop I bought ~5 years ago). So, from what you say, it sounds like I would get a bigger performance increase (for OpenMW at least) by upgrading the CPU, rather than the GPU?

So, if the increased cell load distance is breaking quests, could that be another argument in favor of loading distant statics? Even if it might not improve rendering performance much, it seeems it might make longer view distances more viable, without quests breaking? (presumably most statics aren't scripted)

For me, I'll probably just carry on playing it with the bigger view distance anyway for now (I'm such a sucker for the beautiful vistas). If something breaks, I'll just try to play around it or enjoy the pretty broken-ness and start over (happy in the knowledge that it was my own stupid fault) :-)

User avatar
AnyOldName3
Posts: 1672
Joined: 26 Nov 2015, 03:25

Re: Comments on first try

Post by AnyOldName3 » 23 Jan 2020, 22:03

The main argument against distant statics is that anyone capable of implementing them well either doesn't work on OpenMW, or doesn't have time. We don't want a system like MGE XE's where you have to generate it with a separate tool beforehand and it can't adapt to scripts disabling or moving objects, so that makes it quite complicated.
AnyOldName3, Master of Shadows

Time4Tea
Posts: 28
Joined: 01 Jan 2020, 00:27

Re: Comments on first try

Post by Time4Tea » 24 Jan 2020, 13:17

AnyOldName3 wrote: The main argument against distant statics is that anyone capable of implementing them well either doesn't work on OpenMW, or doesn't have time.
Ok, that's fair enough. Of course, I understand development resources are limited and I don't mean to come across as pushy or imply that it should be any sort of priority.
AnyOldName3 wrote: We don't want a system like MGE XE's where you have to generate it with a separate tool beforehand and it can't adapt to scripts disabling or moving objects, so that makes it quite complicated.
I'm not familiar with how MGE XE does it. Obviously, I have a naive viewpoint, but I guess what I'm struggling to understand is why it wouldn't be as 'simple' as flagging which objects are static when the data files are loaded initially, and then loading just those flagged objects for more distant tiles. Why would it require a separate tool?

Sorry, I don't mean to be difficult. I'm honestly just curious about what some of the technical challenges are.

User avatar
AnyOldName3
Posts: 1672
Joined: 26 Nov 2015, 03:25

Re: Comments on first try

Post by AnyOldName3 » 24 Jan 2020, 22:49

No objects in Morrowind are truly static. A script can disable or move anything with no warning whatsoever. Also, as I've already mentioned, Morrowind's assets are really inefficient for being drawn by modern hardware, and that problem only gets worse with view distance. A system that can improve them (e.g. by atlassing textures and merging meshes) and can cope with things being added or disappearing with no warning and no visual problems is going to be complicated.
AnyOldName3, Master of Shadows

Post Reply