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). .
quelle
Antworten:
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.
quelle
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.)
quelle
Es gibt eine VIELE Anzahl von Gründen, die es dem Benutzer ermöglichen, die Einstellungen für sein Spiel zu steuern.
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.
quelle
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
quelle
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).
quelle
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)
quelle
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.
quelle