Page 1 of 1

Graphics poll

Posted: Mon Dec 16, 2013 12:03 pm
by cim
Some of the new features we might be including for Oolite 1.80 - the new explosions, new planet shaders, anti-aliasing options, and possible future graphics improvements - can have quite an effect on frame rate on older cards (mine, for instance, slows down quite a bit with all of these turned on, but runs 1.77 completely fine)

What I would like to do is do a bit more work with the graphics detail options to let people pick settings that work for them, but without overloading the settings page with options which won't get much use.

There's now a completely anonymous survey up at Oolite Graphics Survey - please complete it, especially if you have an older graphics card and/or computer, so that we can get a better idea of the sorts of options we need to provide (and how well the existing options are working for people)

If you have more than one computer you use for playing Oolite, and there is a significant difference in performance, go ahead and fill in the survey more than once.

Optional tests
There are a few optional tests which could go in the "Other information" box. These tests are more complex to perform, so don't feel that they're required.

1) Set universe.profile = yes; in your logcontrol.plist. This will generate a lot of log file data, so don't forget to turn it off again afterwards. Launch from the station, look at the planet, and then close the Oolite program (without pausing and using the F2 menu - you want to exit while still displaying forward view). The end of your Latest.log will now have some blocks looking something like

Code: Select all

11:48:41.730 [universe.profile.update]: Begin update
11:48:41.730 [universe.profile.update]: update:entity
11:48:41.731 [universe.profile.update]: updating linked lists
11:48:41.731 [universe.profile.update]: collision and shadow detection
11:48:41.731 [universe.profile.update]: clean up
11:48:41.731 [universe.profile.update]: Update complete
11:48:41.731 [universe.profile.draw]: Begin draw
11:48:41.732 [universe.profile.draw]: Begin opaque pass
11:48:41.737 [universe.profile.draw]: Begin translucent pass
11:48:41.740 [universe.profile.draw]: Begin HUD
11:48:41.749 [universe.profile.draw]: End drawing
It might not be exactly the same as that (and you'll need Oolite 1.77 to get it at all) but one of those blocks from "Begin update" to "End drawing" would be useful. If you have lots of OXPs installed, doing the same in strict mode (or no-OXPs mode in 1.79) might also be helpful.

2) If you've got a modern enough graphics card to get 60FPS or more constantly with full graphics settings in normal play, then a couple of checks:
- what do you get staring into the docking bay of a Griff Rock Hermit (full shader version, full texture size)?
- if you have a 1.79 nightly installed and are on Windows or Linux, add the setting

Code: Select all

	<key>anti-aliasing</key>
	<string>YES</string>
to your GNUStepDefaults hidden setting file. Do you still get 60FPS? If not, how much do you lose?

3) If you have any other information you think might be relevant (e.g. "Normally get 60FPS, but it drops to 10FPS if I fly into the planet's atmosphere"), that can go in here too.

Re: Graphics poll

Posted: Mon Dec 16, 2013 1:07 pm
by another_commander
Survey done. Here are some optional test results:
With OXPs including Griff's ships and Zygo's skies, launching from Lave, coming to a full stop and exiting with Shift-Esc:

Code: Select all

13:55:07.280 [universe.profile.update]: Begin update
13:55:07.280 [universe.profile.update]: update:entity
13:55:07.281 [universe.profile.update]: updating linked lists
13:55:07.281 [universe.profile.update]: collision and shadow detection
13:55:07.281 [universe.profile.update]: clean up
13:55:07.281 [universe.profile.update]: JS Garbage Collection
13:55:07.281 [universe.profile.update]: Update complete
13:55:07.281 [universe.profile.draw]: Begin draw
13:55:07.281 [universe.profile.draw]: Begin opaque pass
13:55:07.293 [universe.profile.draw]: Begin translucent pass
13:55:07.294 [universe.profile.draw]: Begin HUD
13:55:07.295 [universe.profile.draw]: End drawing
And without OXPs:

Code: Select all

13:59:04.494 [universe.profile.update]: Begin update
13:59:04.494 [universe.profile.update]: update:entity
13:59:04.494 [universe.profile.update]: updating linked lists
13:59:04.494 [universe.profile.update]: collision and shadow detection
13:59:04.494 [universe.profile.update]: clean up
13:59:04.494 [universe.profile.update]: JS Garbage Collection
13:59:04.494 [universe.profile.update]: Update complete
13:59:04.494 [universe.profile.draw]: Begin draw
13:59:04.494 [universe.profile.draw]: Begin opaque pass
13:59:04.498 [universe.profile.draw]: Begin translucent pass
13:59:04.499 [universe.profile.draw]: Begin HUD
13:59:04.500 [universe.profile.draw]: End drawing
All this using the 1.79 latest development 64-bit version on an Intel HD card found on a four-year Dell Latitude laptop with a 2.8GHz Intel i7 and at 800x600 windowed resolution.

Re: Graphics poll

Posted: Mon Dec 16, 2013 1:08 pm
by Zireael
Filled out. Didn't try anti-aliasing as I don't have time now, maybe Wednesday.
And they say Intel HD 3000 is a poor graphics card... :D

Re: Graphics poll

Posted: Mon Dec 16, 2013 1:42 pm
by Cody
I get the same list as another_commander (trunk nightly 1.79.0.5441-131215-282af07):

Code: Select all

12:44:22.254 [universe.profile.update]: Begin update
12:44:22.254 [universe.profile.update]: update:entity
12:44:22.255 [universe.profile.update]: updating linked lists
12:44:22.256 [universe.profile.update]: collision and shadow detection
12:44:22.256 [universe.profile.update]: clean up
12:44:22.256 [universe.profile.update]: JS Garbage Collection
12:44:22.256 [universe.profile.update]: Update complete
12:44:22.256 [universe.profile.draw]: Begin draw
12:44:22.256 [universe.profile.draw]: Begin opaque pass
12:44:22.258 [universe.profile.draw]: Begin translucent pass
12:44:22.259 [universe.profile.draw]: Begin HUD
12:44:22.259 [universe.profile.draw]: End drawing
Full screen (1280x1024), i5-760 @2.8, GTX 550Ti, Win7 x64 Ultimate.

Re: Graphics poll

Posted: Mon Dec 16, 2013 9:56 pm
by Commander McLane
Cody wrote:
I get the same list as another_commander (trunk nightly 1.79.0.5441-131215-282af07):
I guess the important information is not what's in the list, but the time stamps. How long one circle takes under which conditions.

Re: Graphics poll

Posted: Mon Dec 16, 2013 10:05 pm
by Cody
Commander McLane wrote:
I guess the important information is not what's in the list, but the time stamps. How long one circle takes under which conditions.
No doubt - in which case, I edged the Admiral by 10 milliseconds, yes?

Re: Graphics poll

Posted: Tue Dec 17, 2013 12:20 pm
by Commander McLane
I have put it into the survey, but repeat it here for bragging :P :

1)
with OXPs:

Code: Select all

13:02:58.251 [universe.profile.update]: Begin update
13:02:58.251 [universe.profile.update]: update:entity
13:02:58.252 [universe.profile.update]: updating linked lists
13:02:58.252 [universe.profile.update]: collision and shadow detection
13:02:58.252 [universe.profile.update]: clean up
13:02:58.252 [universe.profile.update]: Update complete
13:02:58.253 [universe.profile.draw]: Begin draw
13:02:58.253 [universe.profile.draw]: Begin opaque pass
13:02:58.253 [universe.profile.draw]: Begin translucent pass
13:02:58.254 [universe.profile.draw]: Begin HUD
13:02:58.255 [universe.profile.draw]: End drawing
in strict mode:

Code: Select all

13:04:28.506 [universe.profile.update]: Begin update
13:04:28.506 [universe.profile.update]: update:entity
13:04:28.506 [universe.profile.update]: updating linked lists
13:04:28.506 [universe.profile.update]: collision and shadow detection
13:04:28.506 [universe.profile.update]: clean up
13:04:28.506 [universe.profile.update]: Update complete
13:04:28.507 [universe.profile.draw]: Begin draw
13:04:28.507 [universe.profile.draw]: Begin opaque pass
13:04:28.507 [universe.profile.draw]: Begin translucent pass
13:04:28.508 [universe.profile.draw]: Begin HUD
13:04:28.509 [universe.profile.draw]: End drawing
2)
Griff Rock Hermit, full shader, full texture size, Oolite 1.77.1: 99 fps

MacBook Pro, 2.4GHz Intel Core i5, OS X 10.6.8, NVIDIA GeForce GT 330M, OpenGL renderer version: 2.1.0 ("2.1 NVIDIA-1.6.40"), windowed 920 x 690 px

Re: Graphics poll

Posted: Fri Dec 20, 2013 4:21 pm
by cim
Looking through the results so far, no-one has picked any of:
- no shaders
- simple shaders
- reduced detail
as options that they use.

If you do, please make sure you complete the survey, or the direction I take with adjusting the graphics settings interface may not be suitable for you.

Re: Graphics poll

Posted: Sun Dec 22, 2013 4:29 pm
by cim
Looking at the results in so far - still no votes for simple shaders - it looks as if we could change the settings to be as follows (actual labels to be determined):
Graphics level 1: no shaders, "reduced" detail
Graphics level 2: full shaders, "normal" detail
Graphics level 3: full shaders, extra bits not currently available in "normal" detail.
(and then potentially a level 4 later)

Re: Graphics poll

Posted: Sat Jan 04, 2014 10:50 pm
by JensAyton
From the Progress thread:
JensAyton wrote:
For tonight’s nightly, multitexture lighting effects have been enabled for low-detail mode. To minimize the performance impact, light map are constricted to 256×256 pixels in this mode.

We’re very interested in knowing if this affects performance significantly for people using this mode.