Oolite 1.84 performance issue on Nvidia Pascal (10xx series GTX) cards

For test results, bug reports, announcements of new builds etc.

Moderators: winston, another_commander, Getafix

User avatar
Cmdr Wyvern
---- E L I T E ----
---- E L I T E ----
Posts: 1565
Joined: Tue Apr 11, 2006 1:47 am
Location: Somewhere in the great starry void

Re: Oolite 1.84 performance issue on Nvidia Pascal (10xx series GTX) cards

Post by Cmdr Wyvern » Sat Nov 12, 2016 1:33 am

another_commander wrote: It would be interesting to try the unlimited FPS setting using the animation_timer_interval just to see where we can get to with a very powerful card.

And to close the loop, Oolite goes for V-sync by default and, assuming no intervention using the animation_timer_interval parameter is attempted, it has an FPS cap of 200.
I experimented.
Results: *
100+ docked
fluctuating between 50 to 70 in flight

That's my results though. There's several variables to consider in the wild (for instance, I've read of performance issues with Nvidia cards on Win 10 Anniversary), so YMMV. Just sayin'.

*Note, I have Griff's shadered ships and stations, and several eyecandy OXPs installed. Ingame graphics setting at "extra detail". That too can impact performance. Even with hefty eyecandy going on and the card set to extreme AA and ansio filtering, that it can easily deliver these results is purty darn impressive.
Running Oolite buttery smooth & rock stable w/ tons of eyecandy oxps on:
ASUS Prime X370-A
Ryzen 5 1500X
16GB DDR4 3200MHZ
128GB NVMe M.2 SSD (Boot drive)
1TB Hybrid HDD (For software and games)
EVGA GTX-1070 SC
1080P Samsung large screen monitor

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5397
Joined: Wed Feb 28, 2007 7:54 am

Re: Oolite 1.84 performance issue on Nvidia Pascal (10xx series GTX) cards

Post by another_commander » Sat Nov 12, 2016 5:55 am

Thanks for giving it a try. I am still not sure that the card was giving everything it had though. Seeing only 100+ fps when docked is kind of low, considering that I get around 300 when I set an old Intel card free. I think I may be partly responsible for that, because looking back at my previous response I see that I forgot to mention that V-sync should be disabled first before the animation_timer_interval can be allowed to go for maximum performance. Sorry about that.

There are indeed many parameters that can influence the results though. Game window resolution when the test was run, driver settings for v-sync, adaptive sync, AA, super sampling (which I see is set to quite high in your earlier settings list), OXPs (and their own settings sometimes) etc. can all play a part in the performance measurement.

There was a topic about benchmarking the game some time ago, which I found and it contains the full instructions for the test. It is here, in case anyone would be interested: http://www.bb.aegidian.org/viewtopic.ph ... 76#p228976

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 13680
Joined: Sat Jul 04, 2009 9:31 pm
Location: Corke's Drift
Contact:

Re: Oolite 1.84 performance issue on Nvidia Pascal (10xx series GTX) cards

Post by Cody » Sat Nov 12, 2016 9:32 am

I'd completely forgotten about those previous benchmarking runs - but I forget a lot of stuff these days.
Their dreams a tattered sail in the wind

User avatar
Cmdr Wyvern
---- E L I T E ----
---- E L I T E ----
Posts: 1565
Joined: Tue Apr 11, 2006 1:47 am
Location: Somewhere in the great starry void

Re: Oolite 1.84 performance issue on Nvidia Pascal (10xx series GTX) cards

Post by Cmdr Wyvern » Sat Nov 12, 2016 4:49 pm

The guys at Nvidia say that the Pascal GPUs are designed to dynamically throttle themselves to match the load thrown at them, aiming for maximum efficiency. In my tests, I've seen that in action: While I've gotten up to 85 FPS in flight, the card only accelerated at peak to 1000mhz, and that's with maxed out ansio and AA. It can boost to just short of 2000, but an Oolite install with loads of eyecandy apparently isn't enough of a demand to make the card ramp that high.

Still not bad considering I'm using a large screen 1080P monitor with a fixed 60FPS refresh.

Seems like trying to get FPS bragging rights on a Pascal Geforce with Oolite is an interesting, yet ultimately futile experiment. Yet... Tune the settings for optimization, and rest assured that it can easily handle all the eyecandy OXPs you care to install, with plenty of muscle left over for more.

Before anyone asks, I don't overclock. I set up custom fan curves though, to insure thermal throttling is kept at bay. And big fans... Gotta love big fans. Run quieter and push far more air than small fans.
Running Oolite buttery smooth & rock stable w/ tons of eyecandy oxps on:
ASUS Prime X370-A
Ryzen 5 1500X
16GB DDR4 3200MHZ
128GB NVMe M.2 SSD (Boot drive)
1TB Hybrid HDD (For software and games)
EVGA GTX-1070 SC
1080P Samsung large screen monitor

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 13680
Joined: Sat Jul 04, 2009 9:31 pm
Location: Corke's Drift
Contact:

Re: Oolite 1.84 performance issue on Nvidia Pascal (10xx series GTX) cards

Post by Cody » Sat Nov 12, 2016 5:07 pm

Cmdr Wyvern wrote:Gotta love big fans. Run quieter and push far more air than small fans.
<nods> Three 140mm case fans (speed adjustable), and a 140mm CPU fan, in my machine.
Their dreams a tattered sail in the wind

User avatar
Cmdr Wyvern
---- E L I T E ----
---- E L I T E ----
Posts: 1565
Joined: Tue Apr 11, 2006 1:47 am
Location: Somewhere in the great starry void

Re: Oolite 1.84 performance issue on Nvidia Pascal (10xx series GTX) cards

Post by Cmdr Wyvern » Sat Nov 12, 2016 10:01 pm

Ok then, here's the optimization settings I worked out.

In GNUstepDefaults,

animation_timer_interval = 0.001;
"v-sync" = NO;

And in the custom Geforce profile for oolite.exe,

Ansio filtering 2X
FXAA off
Gamma correction on
AA mode Override
AA setting 4X
AA transparency multisample
prerendered frames Use application setting
MFAA on
pwr management optimal
Shader cache on
Ansio sample opti on
Negative LOD clamp
quality high quality
Trilinear opti on
Threaded opti off
Triple buffer on
v-sync adaptive
VR frames 1

This works well to keep the game running more or less consistently with the refresh of my monitor, ie 55-65FPS.

Feel free to try these with Kepler and Maxwell GPUs, however, those cards behave differently concerning their built-in auto clock optimizations. As always, YMMV.
Running Oolite buttery smooth & rock stable w/ tons of eyecandy oxps on:
ASUS Prime X370-A
Ryzen 5 1500X
16GB DDR4 3200MHZ
128GB NVMe M.2 SSD (Boot drive)
1TB Hybrid HDD (For software and games)
EVGA GTX-1070 SC
1080P Samsung large screen monitor

User avatar
Cmdr Wyvern
---- E L I T E ----
---- E L I T E ----
Posts: 1565
Joined: Tue Apr 11, 2006 1:47 am
Location: Somewhere in the great starry void

Re: Oolite 1.84 performance issue on Nvidia Pascal (10xx series GTX) cards

Post by Cmdr Wyvern » Sun Nov 13, 2016 1:30 am

Cody wrote:
Cmdr Wyvern wrote:Gotta love big fans. Run quieter and push far more air than small fans.
<nods> Three 140mm case fans (speed adjustable), and a 140mm CPU fan, in my machine.
2x 120, front panel, intake
1x 120, side panel, intake
1x 120, top rear panel, exhaust
1x 140, top panel, exhaust
1x 140, CPU
1x 80, DDRAM slots
2x 80, Geforce

There's a little hurricane in my pc case. :lol:
Running Oolite buttery smooth & rock stable w/ tons of eyecandy oxps on:
ASUS Prime X370-A
Ryzen 5 1500X
16GB DDR4 3200MHZ
128GB NVMe M.2 SSD (Boot drive)
1TB Hybrid HDD (For software and games)
EVGA GTX-1070 SC
1080P Samsung large screen monitor

User avatar
Cmdr Wyvern
---- E L I T E ----
---- E L I T E ----
Posts: 1565
Joined: Tue Apr 11, 2006 1:47 am
Location: Somewhere in the great starry void

Re: Oolite 1.84 performance issue on Nvidia Pascal (10xx series GTX) cards

Post by Cmdr Wyvern » Sun Nov 13, 2016 8:05 am

I cleared out all my oxps, set the geforce overrides to defaults, except for triple buffer on and v-sync set to fast. Then ran the benchmark test again.

Now we're bbqing trumbles with napalm! In space, 300 to 400+ FPS depending on where I point the ship. Not to be bragging, or anything. :lol:
That clearly points to a dodgy oxp doing something nefarious to create a massive slowdown. I'll just go through them one by one, and eventually ID the culprit and give it the heave.
Running Oolite buttery smooth & rock stable w/ tons of eyecandy oxps on:
ASUS Prime X370-A
Ryzen 5 1500X
16GB DDR4 3200MHZ
128GB NVMe M.2 SSD (Boot drive)
1TB Hybrid HDD (For software and games)
EVGA GTX-1070 SC
1080P Samsung large screen monitor

User avatar
Cmdr Wyvern
---- E L I T E ----
---- E L I T E ----
Posts: 1565
Joined: Tue Apr 11, 2006 1:47 am
Location: Somewhere in the great starry void

Re: Oolite 1.84 performance issue on Nvidia Pascal (10xx series GTX) cards

Post by Cmdr Wyvern » Wed Nov 16, 2016 4:03 am

Played around with oxps, and this is interesting.

The heavy hitters so far as slowdowns is hefty graphical eyecandy oxps. Griff's shadered shipset and Trails being the worse culprits. Curiously, they inflict more of a load on the CPU, than they do on the 1070. The 1070 happily purrs along at half speed or less.
The load on the 1070 goes up as I apply antialising with the control panel, but that doesn't affect framerates at all.

I would have thought heavily scripted equipment oxps to inflict hefty loads on the CPU, but they don't seem to affect it much.

Despite running on a machine that can multitask like a maniac that guzzed way too much coffee, and having up to 8 fast CPU cores to dance on, Oolite utilizes only 2 cores...and uses a part of that for rendering, when a gorilla of a GPU can easily handle the rendering.
Things that make you go hmm...
Running Oolite buttery smooth & rock stable w/ tons of eyecandy oxps on:
ASUS Prime X370-A
Ryzen 5 1500X
16GB DDR4 3200MHZ
128GB NVMe M.2 SSD (Boot drive)
1TB Hybrid HDD (For software and games)
EVGA GTX-1070 SC
1080P Samsung large screen monitor

User avatar
maik
Wiki Wizard
Wiki Wizard
Posts: 1877
Joined: Wed Mar 10, 2010 12:30 pm
Location: Ljubljana, Slovenia (mainly industrial, feudal, TL12)

Re: Oolite 1.84 performance issue on Nvidia Pascal (10xx series GTX) cards

Post by maik » Wed Nov 16, 2016 8:11 am

Cmdr Wyvern wrote:Despite running on a machine that can multitask like a maniac that guzzed way too much coffee, and having up to 8 fast CPU cores to dance on, Oolite utilizes only 2 cores...and uses a part of that for rendering, when a gorilla of a GPU can easily handle the rendering.
Things that make you go hmm...
Last time I looked at the code (quite some time ago, I admit) Oolite was not optimized for multi-threading. So the OS cannot distribute it across multiple cores easily. Understandable, as single-core high-frequency CPUs were common when Oolite started, and coding for multi-core performance makes everything a lot more complex. Still today, only few apps are optimized for that, so most cores sit idle unless you run multiple applications at the same time.

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 13680
Joined: Sat Jul 04, 2009 9:31 pm
Location: Corke's Drift
Contact:

Re: Oolite 1.84 performance issue on Nvidia Pascal (10xx series GTX) cards

Post by Cody » Wed Nov 16, 2016 10:06 am

Cmdr Wyvern wrote:The heavy hitters so far as slowdowns is hefty graphical eyecandy oxps.
No surprise there.
Cmdr Wyvern wrote:Curiously, they inflict more of a load on the CPU, than they do on the 1070.
This is something that has me scratching my head at times. Does the CPU load drop/halve when V-sync is set to Adaptive?
What maik says about core usage is correct. Is your CPU actually eight cores, or four cores/eight threads, btw?
Their dreams a tattered sail in the wind

User avatar
Cmdr Wyvern
---- E L I T E ----
---- E L I T E ----
Posts: 1565
Joined: Tue Apr 11, 2006 1:47 am
Location: Somewhere in the great starry void

Re: Oolite 1.84 performance issue on Nvidia Pascal (10xx series GTX) cards

Post by Cmdr Wyvern » Wed Nov 16, 2016 5:13 pm

Cody wrote:
Cmdr Wyvern wrote:The heavy hitters so far as slowdowns is hefty graphical eyecandy oxps.
No surprise there.
Cmdr Wyvern wrote:Curiously, they inflict more of a load on the CPU, than they do on the 1070.
This is something that has me scratching my head at times. Does the CPU load drop/halve when V-sync is set to Adaptive?
What maik says about core usage is correct. Is your CPU actually eight cores, or four cores/eight threads, btw?
V-sync adaptive plus tribuffer on mitigates the microstutter effect if the FPS falls below 60. That's magic that happens at the graphics card; the card is reaching into it's personal buffer memory to fill in the missing frames in a microstutter event. No effect on the CPU, though the card's memory speed may fluctuate a bit.

The CPU is an 8350, one of AMD's FX series chips. There's 8 actual cores on it, but they're assembled in modules. Two cores per module, with a cache and floating point unit in each module.
A different approach to achieve what Intel does with 4 actual cores that simultaneously run 4 virtual cores. Which approach works best is a matter of debate, and it's been debated to death all over the web already.
Running Oolite buttery smooth & rock stable w/ tons of eyecandy oxps on:
ASUS Prime X370-A
Ryzen 5 1500X
16GB DDR4 3200MHZ
128GB NVMe M.2 SSD (Boot drive)
1TB Hybrid HDD (For software and games)
EVGA GTX-1070 SC
1080P Samsung large screen monitor

Post Reply