Page 2 of 3

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

Posted: 12 May 2019, 16:19
by akortunov
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.

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

Posted: 12 May 2019, 16:39
by Stomy
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.

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

Posted: 12 May 2019, 18:36
by ValkyrWarrior
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.

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

Posted: 12 May 2019, 19:03
by Stomy
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.

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

Posted: 12 May 2019, 19:44
by ValkyrWarrior
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.

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

Posted: 12 May 2019, 20:52
by akortunov
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.

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

Posted: 12 May 2019, 20:55
by ValkyrWarrior
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.

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

Posted: 12 May 2019, 22:57
by AnyOldName3
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.

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

Posted: 12 May 2019, 23:03
by ValkyrWarrior
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?

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

Posted: 12 May 2019, 23:10
by Capostrophic
That wouldn't be 44 days. That would be 186 days. 0.45.0 wasn't "finished" the day it was released.