Opened 18 years ago

Closed 8 years ago

#145 closed task (fixed)

Auto detect gfx card "speed"

Reported by: Jan Wassenberg Owned by:
Priority: Nice to Have Milestone: Alpha 20
Component: Core engine Keywords: autodetect
Cc: Nicolai Hähnle Patch:

Description

  • divide GPUs into several classes (i.e. crap, latest+greatest, shader capable, etc.)
  • measure perf on one sample system from each class, and then compare with performance attained during a test run.
  • if there is a test run, warn of a problem similar to what Nicolai experienced: lack of VIA 4in1 driver => AGP disabled => 5FPS when it should be much higher.

Could also use this to autodetect graphics settings based on what the user's system is capable of.

Change History (5)

comment:1 by Andrew, 14 years ago

Owner: set to Andrew

comment:2 by Andrew, 14 years ago

Milestone: BetaBacklog

comment:3 by historic_bruno, 13 years ago

Owner: Andrew removed

comment:4 by fabio, 8 years ago

In 17338:

Enable GLSL by default on OpenGL 3+.

This doesn't override any user setting, it just changes the default when no preferglsl setting is specified.

Fixes #3641.
Refs #145.

comment:5 by fabio, 8 years ago

Milestone: BacklogAlpha 20
Resolution: fixed
Status: newclosed

This is mostly done. There is some detection code in hwdetect.js which can enable or disable some features based on specific cards/drivers combination.

  • divide GPUs into several classes (i.e. crap, latest+greatest, shader capable, etc.)
  • measure perf on one sample system from each class, and then compare with performance attained during a test run.
  • Could also use this to autodetect graphics settings based on what the user's system is capable of.
    • this is currently done enabling GLSL on OpenGL3+ cards, while enabling everything[*] on OpenGL4+ cards. Actually only OpenGL2 is required for all features, however 3+ cards are newer and supposed to easily manage GLSL, while 4+ cards should be able to manage everything. This is somewhat arbitrary, since anyway a high end 3+ cards may manage some setting better than a low end 4+ cards, however users can still use the options menu to change their settings if needed; a finer tuning will require a lot of testing and could become obsolete when 0 A.D. renderer or drivers change;
    • there are also cards specific settings that can override the classes based on OpenGL versions.
  • if there is a test run, warn of a problem similar to what Nicolai experienced: lack of VIA 4in1 driver => AGP disabled => 5FPS when it should be much higher.
    • there is some detection code that prints a warning when a software renderer is detected;
    • similarly, a warning is printed when a faulty nvidia driver version is detected.

[*] currently material quality setting is not forced, once there is a setting to let users change the default it may also enabled by default on OpenGL 4+ (see #2596).

Note: See TracTickets for help on using tickets.