Horrible performance with Distant Land and Higher Than Natural Draw Distance

Support for running, installing or compiling OpenMW

Before you submit a bug report for the first time, please read: Bug reporting guidelines
User avatar
akortunov
Posts: 628
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Horrible performance with Distant Land and Higher Than Natural Draw Distance

Post by akortunov » 12 May 2019, 16:19

Stomy wrote:
12 May 2019, 16:07
1. Then it was multi-threaded but mutex-locked, I distinctly remember a time about a month or two ago when rendering was temporarily on the same frame as everything else and this wasn't happening.
There were not any additional locks. The only difference is that OSG tried to assign threads to cores manually instead of allow OS to do this job, and did not manage to do it well on some Linux setups when using stock OSG instead of scrawl's fork, what could lead to large performace drops.
There should not be any difference in other cases.
Again, if you encounter any issues which are not present in the 0.45 release, use a bisect (either git bisect or just try to install different nightlies) to determine when this issue appeared.

User avatar
Stomy
Posts: 47
Joined: 11 Dec 2018, 02:55
Location: Fhloston Paradise!
Contact:

Re: Horrible performance with Distant Land and Higher Than Natural Draw Distance

Post by Stomy » 12 May 2019, 16:39

The relevant part was that this error doesn't happen when rendering is sequential with the main thread, whatever it is that's causing that (mutex, affinity, threads, doesn't matter), hence I'm inclined to believe those race conditions I linked are related and fixing those should also fix this. If they don't, then I'll look deeper into it.

We're getting off track here, OP has a different problem anyway.
Never attribute to bad code, that which can be adequately explained with clever hacks

ValkyrWarrior
Posts: 22
Joined: 09 May 2019, 00:40

Re: Horrible performance with Distant Land and Higher Than Natural Draw Distance

Post by ValkyrWarrior » 12 May 2019, 18:36

akortunov wrote:
12 May 2019, 16:19
Stomy wrote:
12 May 2019, 16:07
1. Then it was multi-threaded but mutex-locked, I distinctly remember a time about a month or two ago when rendering was temporarily on the same frame as everything else and this wasn't happening.
There were not any additional locks. The only difference is that OSG tried to assign threads to cores manually instead of allow OS to do this job, and did not manage to do it well on some Linux setups when using stock OSG instead of scrawl's fork, what could lead to large performace drops.
There should not be any difference in other cases.
Again, if you encounter any issues which are not present in the 0.45 release, use a bisect (either git bisect or just try to install different nightlies) to determine when this issue appeared.
Okay, dumb question; how do I do a bisect? I'm not too tech savvy but I'd really like to do it if it means fixing my issue and contributing to fixing what could be a really nasty bug.

I'll try installing a new Nightly build when it's updated tonight, or install an older one if you can point me to an archive.

User avatar
Stomy
Posts: 47
Joined: 11 Dec 2018, 02:55
Location: Fhloston Paradise!
Contact:

Re: Horrible performance with Distant Land and Higher Than Natural Draw Distance

Post by Stomy » 12 May 2019, 19:03

ValkyrWarrior wrote:
12 May 2019, 18:36
Okay, dumb question; how do I do a bisect?
It's not that dumb a question. You need to be set up to compile the project though, which is much more involved than downloading the nightly builds. If you've got a git repo set up and everything compiling then the top search results for git bisect give a pretty good overview

Otherwise, if you can get a recording of the problem it might be a good idea also to report it on GitLab, mentioning which nightly build you're using. Then maybe another developer might be able to recreate it and go further.
ValkyrWarrior wrote:
12 May 2019, 18:36
install an older one if you can point me to an archive.
Based on the nightlies thread, I don't think we have one yet, but I didn't look very hard.
Never attribute to bad code, that which can be adequately explained with clever hacks

ValkyrWarrior
Posts: 22
Joined: 09 May 2019, 00:40

Re: Horrible performance with Distant Land and Higher Than Natural Draw Distance

Post by ValkyrWarrior » 12 May 2019, 19:44

Now here's something interesting:

I recorded a 1 minute walkthrough of Seyda Neen; and what do you know; the screen aberrations did not capture on the video, which complicates things.

If you're worried that the issues are on my end, I tested other games on my system to see if the aberrations appeared there, just to be thorough, and the aberrations don't appear on any other game I tested.

User avatar
akortunov
Posts: 628
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Horrible performance with Distant Land and Higher Than Natural Draw Distance

Post by akortunov » 12 May 2019, 20:52

Some people just install different nightlies to determine a first broken one. You even do not need to check an every one - you can use a binary search algorithm here as well.

ValkyrWarrior
Posts: 22
Joined: 09 May 2019, 00:40

Re: Horrible performance with Distant Land and Higher Than Natural Draw Distance

Post by ValkyrWarrior » 12 May 2019, 20:55

akortunov wrote:
12 May 2019, 20:52
Some people just install different nightlies to determine a first broken one. You even do not need to check an every one - you can use a binary search algorithm here as well.
Ah, but you see, you underestimate how stupid I am and I have no idea how to do that.

Basically; you're working with a five year old who doesn't know how to find other nightlies beyond the one that's currently up on the nightly post.

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

Re: Horrible performance with Distant Land and Higher Than Natural Draw Distance

Post by AnyOldName3 » 12 May 2019, 22:57

As I don't install nightlies and am usually using my own builds, I can't tell you how to find older ones, but I can help with the binary search part.

What you need to do is find a build that you know works and a later one that you know doesn't. Any two will do, and it's not a huge problem if they're from hugely different times, so, for example, 0.45 and the latest nightly would be fine. The older build is your latest known working build, and the newer one is your earliest known broken build.

Next, you work out which nightly was from half way between the two and test that. If it has the issue, then it's your new earliest known broken build, and if it doesn't, it's your new latest known working build.

You then find the nightly between your new latest working and earliest broken builds. You use the same process again where you test it and replace one of your reference builds and find the middle one and test that until you have two consecutive nightlies.

By doing this, you can cover lots of builds with only a few tests. A year of nightlies would only require nine tests to pinpoint on which day a problem was added.
AnyOldName3, Master of Shadows

ValkyrWarrior
Posts: 22
Joined: 09 May 2019, 00:40

Re: Horrible performance with Distant Land and Higher Than Natural Draw Distance

Post by ValkyrWarrior » 12 May 2019, 23:03

AnyOldName3 wrote:
12 May 2019, 22:57
As I don't install nightlies and am usually using my own builds, I can't tell you how to find older ones, but I can help with the binary search part.

What you need to do is find a build that you know works and a later one that you know doesn't. Any two will do, and it's not a huge problem if they're from hugely different times, so, for example, 0.45 and the latest nightly would be fine. The older build is your latest known working build, and the newer one is your earliest known broken build.

Next, you work out which nightly was from half way between the two and test that. If it has the issue, then it's your new earliest known broken build, and if it doesn't, it's your new latest known working build.

You then find the nightly between your new latest working and earliest broken builds. You use the same process again where you test it and replace one of your reference builds and find the middle one and test that until you have two consecutive nightlies.

By doing this, you can cover lots of builds with only a few tests. A year of nightlies would only require nine tests to pinpoint on which day a problem was added.
Sounds simple enough! If only for the fact that I don't know how to actually download the nightly.


The earliest working build I have, which was the 0.45 release, was released on the 28th, and I have the nightly dated 5/11, so inbetween are 44 days; halving that is obviously 22, so the halfway nightly would be dated April 19th.

How would I download that build?

User avatar
Capostrophic
Posts: 676
Joined: 22 Feb 2016, 20:32

Re: Horrible performance with Distant Land and Higher Than Natural Draw Distance

Post by Capostrophic » 12 May 2019, 23:10

That wouldn't be 44 days. That would be 186 days. 0.45.0 wasn't "finished" the day it was released.

Post Reply