Warum verlangen Spiele eine Bildschirmauflösung, anstatt die Fenstergröße automatisch anzupassen?

32

Es erscheint mir logischer, wiederverwendbarer und benutzerfreundlicher, ein flexibles, ansprechendes UI-Layout über einen 3D- oder 2D-Bildschirm zu implementieren, der dann auf jeder Bildschirmauflösung ausgeführt werden kann.

Einige moderne Spiele erkennen die Bildschirmauflösung automatisch und passen das Spiel an diese an. Die Option zum Ändern der Auflösung bleibt jedoch in den Einstellungen erhalten.

Warum gibt es diese Option?

Ich vermute, dass dies eine Möglichkeit ist, älteren Maschinen eine Möglichkeit zur Leistungsverbesserung zu bieten, indem weniger Grafiken gerendert und nur über den Bildschirm gestreckt werden. Es gibt jedoch sicherlich bessere Möglichkeiten zur Leistungsverbesserung (z. B. Auswahl unterschiedlicher Textur- und Modellqualitäten). .

user44900
quelle
1
Zusätzlich zu dem, was hier gesagt wird, denke ich, dass einige Spiele auch eine der niedrigsten Auflösungen als "sicher" auswählen: Fast alle Hardwarekonfigurationen unterstützen dies, sodass die Spiele ohne Abstürze gestartet werden und der Benutzer dann die Auflösung im Spiel ändern kann .
MicroVirus
@MicroVirus Ich bin sehr viel zweiter als dieser, beginnend mit einem sicheren und wahrscheinlich zu startenden Modus, ein guter Plan für eine sehr variable Pleform.
Vality
4
" Es scheint mir logischer, wiederverwendbarer und benutzerfreundlicher zu sein, ein flexibles, reaktionsschnelles UI-Layout über einen 3D- oder 2D-Bildschirm zu implementieren. " In der Praxis ist es jedoch oft einfacher und billiger, dies nicht zu tun.
Superbest
@Superbest: Als Gegenargument hat World of Warcraft auf eine "logische Benutzeroberfläche mit fester Größe" (ish) umgestellt . Die Benutzeroberfläche hat eine Höhe von 768 "skalierten Pixeln" und eine entsprechende Breite: wowwiki.com/UI_coordinates (normalerweise 1024x768, 960x768 oder 1229x768)
Mooing Duck 22.04.14
Vielleicht ist ein ansprechendes UI-Layout in Ordnung, wenn für ein Spiel keine hohen Aktionen pro Minute erforderlich sind. Ich weiß, dass einige WarCraft- und StarCraft-Spieler ein festes Layout bevorzugen, damit sie ihr Muskelgedächtnis nutzen können.
So,

Antworten:

51

Auf diese Weise kann der Benutzer die Qualität des Spiels im Vergleich zur Leistung auswählen. Einige bevorzugen eine höhere Grafikqualität bei einer niedrigeren Auflösung, andere das Gegenteil. Einige Computer können maximale Einstellungen für alles verarbeiten, andere nicht.

Geräte mit homogener Hardware (PlayStation, Xbox, iPhone ...) bieten aus diesem Grund normalerweise keine Grafikeinstellungen.

Eskimo
quelle
4
Erwähnenswert ist, dass die Leistung einiger Spiele stark von der Bildschirmauflösung abhängt. Versuchen Sie, die Auflösung Ihres Spiels zu verringern, wenn die Leistung zu niedrig ist, um festzustellen, ob dies der Fall ist.
user1306322
1
Erwähnenswert ist auch, dass durch die Verringerung der Auflösung Leistungsengpässe behoben werden, die durch eine unzureichende GPU-Füllrate und einen unzureichenden Shader-Durchsatz verursacht werden. Die Qualität des Shaders hängt nicht immer von der Auflösung ab, aber für die Umgebungsokklusion, Anti-Aliasing und andere Kantenerkennung kann dies durchaus der Fall sein!
Gusdor
29

Es gibt keine Möglichkeit, die richtige Bildschirmauflösung vollständig zuverlässig zu erkennen.

Ein Ansatz besteht darin, einfach die Desktopauflösung des Benutzers beizubehalten. Das ist ärgerlich, da ich eine Reihe von Leuten kenne (einige mit Sehbehinderungen), die es vorziehen, ihren Desktop mit einer niedrigeren Auflösung zu betreiben, damit die Dinge größer aussehen, aber dennoch Spiele mit der nativen Auflösung bevorzugen, bei denen kleiner Text und Details seltener und weniger sind kritisch.

Ein anderer Ansatz besteht darin, die Liste der unterstützten Modi des Monitors zu konsultieren. Dies ist ebenfalls unzuverlässig: Einige Monitore bieten keine oder eine falsche Modenliste an. Einige bieten Auflösungen, die höher sind als die native Auflösung, die sie bei einem Leistungstreffer abscheulich herunterrechnen können ...

In gewisser Weise gilt Ihre Frage für jede Einstellung, die ein Spiel bietet. "Warum sollte ich den Benutzer fragen, wenn ich erraten kann, was für ihn am besten ist?" Warum sollte ich sie nach Qualitätseinstellungen fragen, wenn ich ihre Hardware erkennen kann? Warum sollte ich nach FOV fragen, wenn ich weiß, wie das Spiel am besten aussieht? Warum sollte ich Benutzern erlauben, AA auszuschalten, wenn ihre Computer damit umgehen können? Diese allgemeinere Frage unterstreicht die wahre Antwort, die zweifach lautet:

Ihre Vermutungen sind manchmal falsch , da Sie nicht immer die richtigen Hardware-Informationen haben, um eine gute Vermutung anzustellen. Was passiert, wenn die Grafikkarte eines Benutzers fehlerhaft ist und der Computer bei einer bestimmten Auflösung abstürzt und Sie ihn nicht deaktivieren lassen? Ihr Spiel ist jetzt für sie nutzlos. Auch Benutzer mögen Entscheidungen . Vielleicht bevorzugt jemand den unscharfen Look, wenn er mit einer nicht nativen Auflösung abgespielt wird, obwohl dies "falsch" ist. Vielleicht haben sie einen CRT-Monitor, der viele Auflösungen unterstützt und der optimale nicht der höchste ist, oder sie erhalten bessere Bildwiederholraten bei einer niedrigeren.

Tatsächlich können Sie anhand der Informationen vom Computer nicht genau beurteilen, was der Benutzer wünscht, und Sie können auch nicht genau beurteilen, was am besten funktioniert . Es ist am besten, den Benutzer (der seinen eigenen Computer kennt) zu entscheiden.

(Beachten Sie, dass ich hier nur den PC behandelt habe. Konsolen sind eine andere Geschichte, wurden aber bereits von anderen behandelt.)

Wertigkeit
quelle
17
+1; das ärgert mich besonders bei Spielen, bei denen ich keinen Gamma-Regler (oder zumindest keine Helligkeitseinstellung) habe. Es ist großartig, dass Sie einen Look gefunden haben, von dem Sie glauben, dass er Ihr Spiel auf Ihren Monitoren am besten aussehen lässt , aber Ihr Monitor ist nicht mein Monitor, und ich hasse dunkle Umgebungen, in denen ich nichts sehen kann. Es ist mir egal, ob das Schwarz-auf-Schwarz "der Punkt" Ihres Stealth-Levels ist, ich möchte sehen, was ich tue.
Brian S
1
„Was ist, wenn eine Benutzer Grafikkarte abgehört wird , um den Computer zu veranlassen bei einer bestimmten Auflösung zum Absturz zu bringen und Sie lassen sie nicht deaktivieren“ ah, die guten alten Zeiten mit D2 und dem Schlachtruf des Barbaren , dass mein Computer immer :) abgestürzt
person27
Sie können die native Auflösung ziemlich zuverlässig erkennen, die Auflösung des Desktops ist ein guter Indikator. Praktisch jeder läuft das bei native res, und es ist zumindest ein guter Ausgangspunkt. Dies bedeutet jedoch nicht, dass Sie nicht die Option zum Ändern anbieten sollten. Bei meinem aktuellen Projekt funktioniert der Vollbildmodus nur mit der nativen (Desktop-) Auflösung. Wenn die Benutzer ihn aus irgendeinem Grund verringern möchten, wechseln Sie entweder in den Fenstermodus oder ändern die Zielgröße für das Back-Rendering und lassen die Grafikkarte strecken es.
Programmdude
2
Ich hatte kürzlich eine Beta-Test-Erfahrung mit einem Spiel, das ich nicht nennen werde, da es noch unveröffentlicht ist und das anstelle der richtigen Grafikeinstellungen die Bildschirmauflösung des Benutzers automatisch erkannt hat. Es endete so schlimm, dass es das Spiel für viele Tester völlig unspielbar machte , und die von den Entwicklern vorgeschlagene Problemumgehung bestand darin , die Bildschirmauflösung oder Bildwiederholfrequenz des Monitors zu ändern , und selbst das funktionierte nicht für alle. Zum Glück ist diese automatische Erkennung nur ein Teil der Betaversion und für das endgültige Spiel werden Bildschirmauflösungsoptionen vorausgesetzt.
BoltClock
@BoltClock Ich verstehe das Gefühl, dass mein eigener Monitor (ein ziemlich hochkarätiger Dell) eine falsche Liste von Modi ausgibt, wenn die Software nur nach dem höchsten sucht und es anzeigt, entweder bekomme ich seltsame Grafikartefakte oder es wird überhaupt nicht angezeigt .
Vality
7

Es gibt eine VIELE Anzahl von Gründen, die es dem Benutzer ermöglichen, die Einstellungen für sein Spiel zu steuern.

  • VIELE Leute haben heutzutage zwei (oder mehr) Monitore. Der Benutzer sollte in der Lage sein, zu bestimmen, auf welcher Seite das Spiel gespielt werden soll.
  • Es gibt Tausende verschiedener Geräte, die ein Benutzer verwenden könnte, und es gibt keine Möglichkeit, zuverlässig zu erkennen, welche Einstellung für jeden optimal wäre.
  • Einige Benutzer bevorzugen möglicherweise weniger als "optimale" Einstellungen aus Gründen, die von einer besseren Spieleleistung bis zu einem schlechten Sehvermögen reichen (geringere Auflösung = größerer Text!).
  • Einige Benutzer möchten das Spiel möglicherweise lieber mit einem Fenster spielen, sodass ihre Chatboxen, exemplarischen Vorgehensweisen, der Musikplayer oder andere Programme gleichzeitig mit dem Spiel sichtbar sind.

Das heißt, viele Spiele werden automatisch erkannt und stellen die Anfangseinstellungen auf das ein, was sie für das Beste halten, mit dem Ihr Computer umgehen kann.

ein Slum
quelle
1
Gibt es Spiele, bei denen Sie außer im Fenstermodus auswählen können, auf welchem ​​Monitor Sie laufen möchten? Ich bin seit einigen Jahren auf mehreren Bildschirmen aktiv und kann mich nicht mehr an ein Vollbild-Spiel erinnern, das die Option bietet, auf einem anderen Bildschirm als meinem primären Bildschirm zu laufen.
Dan Neely
Ich kann mich nicht an Einzelheiten erinnern, aber ich habe mindestens ein paar Spiele über meinen sekundären Monitor übertragen lassen und gelegentlich Spiele, bei denen sich die Monitoreinstellungen geändert haben ... Wenn ich auf meinem Monitor eine andere Auflösung habe als die Voreinstellung ... nun, es gibt wahrscheinlich einen Grund.
Aslum
2
Ich habe eine ganze Reihe von Spielen mit dieser Option gesehen, die normalerweise im Menü als "Anzeigeadapter" bezeichnet werden. EVE Online ist ein Beispiel.
Ben
5

Dies liegt daran, dass die Kosten und der Effekt von Texturqualität, Geometriedetails und Bildschirmauflösung stark von der Hardware abhängen.

Die Texturqualität hat normalerweise keinen großen Einfluss auf die Geschwindigkeit der Rendering-Pipeline, sondern nur, wenn sie aus dem GPU-Speicher gelesen werden. Wenn nicht alle Texturen in den GPU-Speicher passen, müssen sie aus dem normalen RAM oder noch schlimmer aus dem Festplatten-Cache gelesen werden, was sich negativ auf die Leistung auswirkt. Das Reduzieren der Geometrie * und das Weglassen teurer Effekte ** hilft nicht viel. Wenn die Ausführungsgeschwindigkeit der Rendering-Pipeline der Engpass ist, hilft es auch nicht viel, die Texturauflösung zu reduzieren.

Vertex-Shader werden normalerweise nicht von der Ausgabeauflösung beeinflusst. Die einzige Möglichkeit, die Belastung zu verringern, besteht darin, die Qualität und Quantität der 3D-Modelle in der Szene zu verringern.

Alle Pixel-Shader skalieren jedoch weiterhin linear mit der Anzahl der Pixel auf dem Bildschirm. Die Reduzierung der Bildschirmauflösung ist nach wie vor ein wichtiges Instrument zur Verbesserung der Leistung. Mit der Hälfte der horizontalen und vertikalen Auflösung haben Sie nur ein Viertel der Aufrufe der Pixel-Shader.

Im Gegensatz zu den älteren CRT-Bildschirmen haben moderne LCD- oder Plasma-Bildschirme eine native Pixelauflösung. Wenn sie mit einem Videostream in einer anderen Auflösung gespeist werden, müssen sie interpolieren. Einige interpolieren viel besser als andere, was bedeutet, dass sie mit einer niedrigeren Auflösung die Bildqualität nicht sehr beeinträchtigen, während andere Monitore wirklich schlecht aussehen, wenn sie nicht mit ihrer nativen Lösung betrieben werden (der erste LCD-Bildschirm, den ich besaß, verwendete Nearest-Neighbor-Interpolation). Das sah schrecklich aus . Bei meinen aktuellen Bildschirmen ist es schwer zu sagen, wenn sie nicht mit der richtigen Auflösung laufen.

Die Spiel-Engine kann nicht wissen, wie gut der Monitor des Benutzers interpoliert, daher ist es besser, die Wahl zu lassen, entweder Textur- und Geometriedetails zu reduzieren oder die Bildschirmauflösung für den Benutzer zu reduzieren.

*) OK, Geometrie reduzieren könnte helfen , ein wenig , weil Eckpunkten auch GPU - Speicher verbrauchen.

**) Wenn Sie diese Effekte nicht weglassen, sind einige Texturen nicht mehr erforderlich

Philipp
quelle
1
Nur um es nicht zu bemerken: CRTs haben einen "Punktabstand", was bedeutet, dass sie wirklich eine native Auflösung haben. Die Leuchtstoffe in einer CRT haben eine Abklingzeit, was bedeutet, dass eine CRT auch eine ideale Bildwiederholfrequenz hat.
Zan Lynx
@ZanLynx Aber soweit ich das beurteilen kann, war es nie möglich, logische Scanlinien so zu erstellen, dass sie perfekt mit den physischen Schattenmaskenelementen der CRTs übereinstimmen, wie dies mit einem LCD möglich ist.
Damian Yerrick
2

Nicht nur die vordefinierten Auflösungseinstellungen ermöglichen es, in irgendeiner Weise auf die Leistung zu reagieren, sondern es ist auch viel schwieriger, einen universellen Ansatz zu erstellen, der für alle Arten von Auflösungen, Verhältnissen und dpis geeignet ist.

Wenn Sie nur wenige verschiedene Auflösungen erstellen, ist es für den Benutzer problematisch, die für ihn am besten geeignete auszuwählen (insbesondere, wenn seine Auflösung / sein Verhältnis ungewöhnlich ist). Wenn Sie ein universelles Design erstellen, sind Sie dafür verantwortlich, dass das Spiel auf allen Geräten perfekt aussieht (besonders auf Mobilgeräten, insbesondere nicht auf iOS, sondern auf den anderen Plattformen mit einer Vielzahl von Geräten).

kreys
quelle
2

Zusätzlicher Grund: Umgebungen ändern.

1080 ist jetzt Standard, aber noch nicht vor 5 Jahren. 4k gibt das Bild ein und wie lange dauert es, bis 6k / 8k / 1080k (oder was auch immer) ins Bild kommen? Was ist mit Spielen auf einem 8 Jahre alten Computer, der eine Auflösung von 1280x720 erreicht? 1024 x 768? 640 x 400?

Mein Monitor unterstützt 4k native, würde aber die benötigte Bandbreite drosseln und bei 30fps maximal arbeiten. Lassen Sie mich zu 1080 (oder niedriger) wechseln, damit das Spiel mit 60 fps läuft und der Text / hud / etc nicht mikroskopisch ist.

(Zusätzlich: Gib mir bitte auch Fenster / maximiertes Fenster, damit ich mich leicht umschauen kann lol)

WernerCD
quelle
3
1080k ... Das ist das 1-Millionenfache der Pixelanzahl in einem 1080p-Display. Das sind 2 Billionen Pixel, die mindestens 8 TB VRAM benötigen und rund 4000 Terabits / s zum Treiben benötigen. Ich würde wirklich gerne ein solches Display sehen und die Menge an Energie, die es verbrauchen würde ...
Panda Pyjama
0

Ich vermute, dass dies eine Möglichkeit ist, älteren Maschinen eine Möglichkeit zur Leistungsverbesserung zu bieten, indem weniger Grafiken gerendert und nur über den Bildschirm gestreckt werden. Es gibt jedoch sicherlich bessere Möglichkeiten zur Leistungsverbesserung (z. B. Auswahl unterschiedlicher Textur- und Modellqualitäten). .

Das ist nicht so einfach. Ein Spiel kann auf meinem Computer langsam laufen, weil es bei der Fragmentverarbeitung hängen bleibt (möglicherweise viele Partikeleffekte wie Rauch). Eine Reduzierung der Modellqualität würde von hier aus nicht viel Zeit in Anspruch nehmen und auch die Texturqualität nicht beeinträchtigen. Andererseits wird durch Verringern der Auflösung die Last hier drastisch verringert (ein Wechsel von 1920 x 1080 auf 1366 x 768 verringert die Anzahl der zu verarbeitenden Pixel um die Hälfte).

Und wenn mein Bildschirm zu groß ist - wie ein Fernseher (wie mein aktuelles Setup - ich behaupte, mein PC ist eine größere Xbox) - dann gibt mir eine größere Auflösung in einem bestimmten Betrachtungsabstand nicht viel. Ich habe also einen guten Grund, die Auflösung zu verringern und vielleicht sogar die zusätzliche Rechenleistung zu nutzen, um detailliertere Licht- oder Schatteneffekte zu erzielen.

Kos
quelle