MovingBlocks / Terasology

Terasology - open source voxel world
http://terasology.org
Apache License 2.0
3.68k stars 1.34k forks source link

Button to apply "optimal" graphic settings #1138

Open Cervator opened 10 years ago

Cervator commented 10 years ago

Also came up on IRC and makes all kinds of sense. Unsure how to actually go about it calculating what's optimal though!

Probably need to actually fix the outstanding leaks / performance issues before this would be at all reliable though

Somewhat related to #1123

kreezxil commented 10 years ago

I've played some games that would benchmark your system and set optimal settings, I think WOW does this. Dont' remember for sure.

emanuele3d commented 10 years ago

Coming up with a definition of "optimal settings for a given system" can be tricky. If anything because some people in a given context might prefer frame rate over look to then reverse their preference in a different context. I.e. if I play flight simulator I need fluidity, if I play a city management game I prefer better looks and i might sacrifice -some- frames per second for it.. Still, worth trying.

Another option, or perhaps a stepping stone toward the ideal mentioned above, is to give benchmarking tools to the user. I once played a game (Far Cry 2?) which had an external tool loading a flythrough of an african-looking scene with all sorts of static and dynamic assets, including AI-controlled character shooting each other and eventually explosions sending them flying. The tool would measure framerate over the flythrough and even repeat the same flythrough a few times to get a good average. Crucially, the tool launching this benchmarking scene would allow you to modify all the game's settings, including graphics, and would allow you to review the differences in settings between runs.

A fairly different approach to the problem was presented to me today as I installed some new nVidia drivers. The nVidia Experience software was installed alongside the drivers and one of its feature is to recommend and set (when possible) optimal graphics settings for the game it knows about. Interestingly, it seems to rely on some kind of cloud-based crowdsourcing to determine what the right settings for the system are. Perhaps, at least for nVidia-based systems, a way to tackle this issue might be to make Terasology compatible with this tool.

kreezxil commented 10 years ago

That sounds like a start. Ideally you only have to support 2 card types, nVidia and Radeon.

On Tue, Jun 17, 2014 at 3:34 PM, manu3d notifications@github.com wrote:

Coming up with a definition of "optimal settings for a given system" can be tricky. If anything because some people in a given context might prefer frame rate over look to then reverse their preference in a different context. I.e. if I play flight simulator I need fluidity, if I play a city management game I prefer better looks and i might sacrifice -some- frames per second for it.. Still, worth trying.

Another option, or perhaps a stepping stone toward the ideal mentioned above, is to give benchmarking tools to the user. I once played a game (Far Cry 2?) which had an external tool loading a flythrough of an african-looking scene with all sorts of static and dynamic assets, including AI-controlled character shooting each other and eventually explosions sending them flying. The tool would measure framerate over the flythrough and even repeat the same flythrough a few times to get a good average. Crucially, the tool launching this benchmarking scene would allow you to modify all the game's settings, including graphics, and would allow you to review the differences in settings between runs.

A fairly different approach to the problem was presented to me today as I installed some new nVidia drivers. The nVidia Experience software was installed alongside the drivers and one of its feature is to recommend and set (when possible) optimal graphics settings for the game it knows about. Interestingly, it seems to rely on some kind of cloud-based crowdsourcing to determine what the right settings for the system are. Perhaps, at least for nVidia-based systems, a way to tackle this issue might be to make Terasology compatible with this tool.

— Reply to this email directly or view it on GitHub https://github.com/MovingBlocks/Terasology/issues/1138#issuecomment-46361352 .

skaldarnar commented 10 years ago

@kreezxil You should not forget the "onboard" graphics of many laptops, which can be very powerful nowadays. That would add Intel and AMD to the list of systems.

@emanuele3d Do you know if nVidia Experience just controls the nVidia settings (anti aliasing, filtering, ...) for a specific application or if it does set in-game video settings (via API, config files, or similar)?

In general, a way to "select the best settings running with x fps" or "determine playable configuration" could at least be used as a starting point for individual preferences. Besides the (pure) benchmark approach, we could use some statistic approach where users can contribute their _(system info, settings, benchmark result)_ to some database. This database can then be used to determine "optimal" settings.

emanuele3d commented 10 years ago

@Tobias:It also controls application-specific setttings. I.e. on Euro Truck Simulation 2 it can set things such as Traffic headlights, pedestrians and vegetation details.

Fundamentally it seems to do exactly what you suggest with your "statistic approach", which I was referring to as a "crowdsourcing based" system.

Cervator commented 10 years ago

@emanuele3d - I think you got the wrong Tobias :D

Yeah this issue could be a deeper rabbit hole than first intended. I bet the Launcher could even trigger a pre-game optional settings test somehow. But that might be a ways down the priority list.