Почему игры запрашивают разрешение экрана вместо автоматического подбора размера окна?

32

Мне кажется, что было бы более логичным, многократно используемым и удобным для пользователя реализовать гибкий, отзывчивый макет пользовательского интерфейса на 3d или 2d экране, который затем можно запускать на любом разрешении экрана.

Некоторые современные игры автоматически определяют разрешение экрана и подстраивают игру под него, но опция изменения разрешения остается в настройках.

Почему этот вариант есть?

Я предполагаю, что это один из способов предоставить старым машинам способ повысить производительность, рендерив меньше графики и просто растягивая их по экрану, но, несомненно, есть более эффективные способы повышения производительности (например, выбор различных текстур и моделей). ,

user44900
источник
1
В дополнение к тому, что здесь сказано, я думаю, что некоторые игры также выбирают одно из самых низких разрешений как «безопасное»: почти все конфигурации оборудования будут поддерживать его, поэтому игры запускаются без сбоев, а затем пользователь может изменить разрешение в игре. ,
MicroVirus
@MicroVirus Я очень во второй раз, начиная с безопасного и с вероятностью запуска режима - хороший план для очень изменчивой pleform.
Vality
4
« Мне кажется, что было бы более логичным, многократно используемым и удобным для пользователя реализовать гибкий, отзывчивый макет пользовательского интерфейса на 3-м или 2-м экране », - вам кажется, но на практике зачастую это проще и дешевле не делать.
Superbest
@Superbest: В качестве контраргумента World of Warcraft переключился на «логический интерфейс фиксированного размера» (ish). Высота пользовательского интерфейса составляет 768 "масштабированных пикселей" и ширина, соответствующая аспекту: wowwiki.com/UI_coordinates (обычно 1024x768, 960x768 или 1229x768)
Mooing Duck
Возможно, адаптивный макет пользовательского интерфейса хорошо, когда игра не требует высоких действий в минуту. Я знаю, что некоторые игроки WarCraft и StarCraft предпочитают фиксированную раскладку, чтобы они могли использовать свою мышечную память.
Вс

Ответы:

51

Это позволяет пользователю выбирать качество игры в зависимости от ее производительности. Некоторые предпочитают более качественные настройки графики на более низком разрешении, другие наоборот. Некоторые компьютеры могут обрабатывать максимальные настройки на всем, а некоторые нет.

По этой причине устройства с однородным оборудованием (PlayStation, Xbox, iPhone ...) обычно не предлагают графические настройки.

эскимос
источник
4
Стоит отметить, что производительность некоторых игр сильно зависит от разрешения экрана. Попробуйте понизить разрешение вашей игры, если она неэффективна, чтобы увидеть, так ли это.
user1306322
1
Также стоит отметить, что снижение разрешения устранит узкие места производительности, возникающие из-за неадекватной скорости заполнения графического процессора и пропускной способности шейдера. Качество шейдера не всегда связано с разрешением, но для окклюзии окружающей среды, сглаживания и обнаружения других краев это вполне может быть!
Gusdor
29

Нет способа полностью надежно определить правильное разрешение экрана.

Один из подходов - просто оставить разрешение на рабочем столе пользователя. Это раздражает, поскольку я знаю ряд людей (некоторые с нарушениями зрения), которые предпочитают запускать свой рабочий стол с более низким разрешением, чтобы они выглядели больше, но все же предпочитают игры с собственным разрешением, где мелкий текст и детали реже и меньше критичный.

Другой подход заключается в просмотре списка поддерживаемых режимов монитора. Это также ненадежно: некоторые мониторы не предоставляют список режимов или предоставляют его неправильно. Некоторые обеспечивают разрешение выше, чем у родного, которое они могут безжалостно понижать при снижении производительности ...

В некотором смысле, ваш вопрос относится к любым настройкам, которые предоставляет игра. «Почему я должен спрашивать пользователя, когда я могу угадать, что лучше для него?» Зачем мне спрашивать их о настройках качества, когда я могу определить их оборудование? Зачем мне спрашивать о поле зрения, если я знаю, с чем игра выглядит лучше всего? Почему я должен позволять пользователям обращаться к AA, если их компьютеры могут справиться с этим? Этот более общий вопрос выдвигает на первый план реальный ответ, который имеет два аспекта:

Ваши догадки иногда ошибочны , так как у вас не всегда будет правильная информация об оборудовании, чтобы сделать правильное предположение. Что делать, если графическая карта пользователя прослушивается, вызывая сбой компьютера при определенном разрешении, и вы не позволяете им отключить его? Ваша игра теперь для них бесполезна. Также пользователям нравится выбор . Возможно, кто-то предпочитает нечеткий вид игры с не родным разрешением, хотя это «неправильно». Возможно, у них есть ЭЛТ-монитор, который поддерживает множество разрешений, и оптимальное не самое высокое, или они получают лучшую частоту обновления при более низком.

По сути, вы не можете точно судить, что хочет пользователь основываясь на информации с компьютера, и вы не можете точно судить, что будет работать лучше всего . Лучше оставить выбор пользователю (который знает свой компьютер).

(Обратите внимание, что здесь я рассмотрел только ПК. Консоли - это отдельная история, но уже были освещены другими.)

Vality
источник
17
+1; это особенно раздражает меня в играх, которые не дают мне гамма-слайдер (или, по крайней мере, настройки яркости). Здорово, что вы нашли то, что, по вашему мнению, делает вашу игру лучше на ваших мониторах, но ваш монитор - не мой монитор, и я ненавижу темные среды, где я не вижу. Мне все равно, если черное на черном является «точкой» вашего уровня скрытности, я хочу посмотреть, что я делаю.
Брайан С.
1
«Что делать, если пользовательская видеокарта глючит, вызывая сбой компьютера при определенном разрешении, и вы не позволите им отключить его», ах, старые добрые времена с D2 и боевой клич варвара, который всегда разбивал мой компьютер :)
person27
Вы можете довольно надежно определить родное разрешение, разрешение рабочего стола является хорошим показателем. Практически все запускают это на native res, и это, по крайней мере, хорошая отправная точка. Однако это не означает, что вы не должны предлагать возможность изменить его. В моем текущем проекте полноэкранный режим будет работать только при собственном (настольном) разрешении, и если люди захотят уменьшить его по какой-либо причине, либо перейдите в оконный режим, либо измените целевой размер рендеринга и просто растяните видеокарту. Это.
Программирование
2
У меня был недавний опыт бета-тестирования игры, которую я не назову, поскольку она все еще не выпущена, которая вместо правильных настроек графики автоматически определяла разрешение экрана пользователя. Это закончилось настолько плохо, что сделало игру полностью непригодной для игры многими тестировщиками , и обходной путь, предложенный разработчиками, заключался в изменении разрешения экрана монитора или частоты обновления , и даже это не сработало для всех. К счастью, это автоопределение является лишь частью бета-версии, и предполагается, что финальная игра имеет параметры разрешения экрана.
BoltClock
@BoltClock Я полностью понимаю, что мой собственный монитор (ультра-резкий Dell довольно высокого класса) выдает фиктивный список режимов, если программное обеспечение просто ищет самый высокий и отображает его, либо я получаю странные графические артефакты, либо он вообще не будет отображаться ,
Vality
7

Существует множество причин, по которым пользователь может контролировать настройки своей игры.

  • МНОГИЕ люди имеют 2 (или более) мониторов в эти дни. Пользователь должен иметь возможность определить, в какую игру играть.
  • Пользователь может использовать тысячи различных устройств, и невозможно точно определить, какая настройка будет оптимальной для каждого из них.
  • Некоторые пользователи могут предпочесть менее «оптимальные» настройки по причинам, варьирующимся от лучшей производительности игры до плохого зрения (более низкое разрешение = больший текст!).
  • Некоторые пользователи могут предпочесть играть в игру под окнами, чтобы их чаты, пошаговые руководства, музыкальный проигрыватель или другие программы были видны одновременно с игрой.

Тем не менее, многие игры ДЕЙСТВУЮТ автоопределение, а затем устанавливают начальные настройки на то, что, по их мнению, является лучшим для вашей машины.

aslum
источник
1
За исключением оконного режима, есть ли игры, позволяющие выбрать, на каком мониторе работать? Я работаю на нескольких мониторах уже несколько лет и никогда не вспоминаю полноэкранную игру, дающую возможность работать на чем-то ином, чем мой основной дисплей.
Дэн Нили
Я не могу вспомнить подробности, но у меня по крайней мере несколько игр заняли мой дополнительный монитор, и у меня иногда были игры, которые меняли настройки моих мониторов ... Если у меня есть разрешение на моем мониторе, отличное от по умолчанию ... ну, вероятно, есть причина.
Проснулся
2
Я видел довольно много игр с этой опцией, обычно называемой «адаптер дисплея» в меню. EVE Online является одним из примеров.
Бен
5

Это связано с тем, что стоимость и влияние качества текстур, геометрических деталей и разрешения экрана зависят от аппаратного обеспечения.

Качество текстур обычно не оказывает большого влияния на скорость конвейера рендеринга, а только тогда, когда они считываются из памяти графического процессора. Когда не все текстуры помещаются в память графического процессора, их необходимо считывать из обычной оперативной памяти или, что еще хуже, из кэша жесткого диска, что отрицательно влияет на производительность. Уменьшение геометрии * и исключение дорогих эффектов ** не сильно поможет. Но когда скорость выполнения конвейера рендеринга является узким местом, снижение разрешения текстур также не сильно поможет.

Вершинные шейдеры обычно не зависят от выходного разрешения. Единственный способ уменьшить нагрузку на них - это уменьшить качество и количество 3d моделей в сцене.

Но любые пиксельные шейдеры по-прежнему масштабируются линейно с количеством пикселей на экране. Уменьшение разрешения экрана по-прежнему является важным инструментом повышения производительности. Половина горизонтального и вертикального разрешения означает, что у вас есть только четверть обращений к пиксельным шейдерам.

В отличие от старых дисплеев с ЭЛТ, современные ЖК или плазменные экраны имеют собственное разрешение пикселей. Когда они получают видеопоток в другом разрешении, их необходимо интерполировать. Некоторые интерполируют намного лучше, чем другие, что означает, что использование их в более низком разрешении не сильно снижает качество изображения, в то время как другие мониторы действительно выглядят плохо, когда не работают на своем родном решении (первый принадлежащий мне ЖК-экран использовал интерполяцию ближайших соседей, что выглядело ужасно . С моими нынешними экранами трудно сказать, когда они не работают с правильным разрешением).

Игровой движок не может знать, насколько хорошо интерполирует монитор пользователя, поэтому лучше оставить выбор либо уменьшить детализацию текстуры и геометрии, либо уменьшить разрешение экрана для пользователя.

*) Хорошо, уменьшение геометрии может немного помочь, потому что вершины также потребляют память GPU.

**) если, конечно, пропуск этих эффектов не означает, что некоторые текстуры больше не требуются

Philipp
источник
1
Просто чтобы придираться: ЭЛТ имеют «точечный шаг», что означает, что они действительно имеют собственное разрешение. Люминофоры в ЭЛТ имеют время затухания, что означает, что ЭЛТ также имеет идеальную частоту обновления.
Zan Lynx
@ZanLynx Но, насколько я могу судить, никогда не было возможности получить логические линии сканирования, которые бы идеально совмещались с физическими элементами теневой маски ЭЛТ, как это можно сделать с помощью ЖК-дисплея.
Дамиан Йеррик
2

Не только предопределенные настройки разрешений позволяют каким-то образом реагировать на производительность, но создать универсальный подход, который подходит для всех видов разрешений, отношений и dpis, намного сложнее.

Если вы создаете только несколько разных разрешений, то пользователь беспокоится о том, чтобы выбрать наиболее подходящий для него вариант (особенно, когда его разрешение / соотношение необычное). Если вы создадите единый универсальный дизайн, вы несете ответственность за то, чтобы игра выглядела идеально на всех устройствах (в настоящее время это может быть особенно сложно для мобильных устройств, особенно на iOS, но на других платформах с огромным разнообразием устройств).

kreys
источник
2

Дополнительная причина: изменение среды.

1080 сейчас стандарт, но не было 5 лет назад. 4k входит в изображение, и как долго, пока 6k / 8k / 1080k (или что-то еще) не входит в изображение? Как насчет игр на 8-летнем компьютере с максимальным разрешением 1280x720? 1024x768? 640x400?

Мой монитор поддерживает 4k native, но он подавляет требуемую пропускную способность и максимально достигает 30 кадров в секунду. Позвольте мне переключиться на 1080 (или ниже), чтобы игра работала со скоростью 60 кадров в секунду, а текст / hud / etc не был микроскопическим.

(Дополнительно: дайте мне оконное / развернутое окно, а также, пожалуйста, чтобы я мог легко перемещаться)

WernerCD
источник
3
1080k ... Это в миллион раз больше пикселей на дисплее 1080p. Это 2 триллиона пикселей, для этого потребуется не менее 8 ТБ видеопамяти и около 4000 терабит / с для дисковода. Мне бы очень хотелось увидеть такой дисплей и количество потребляемой им энергии ...
Panda Pajama
0

Я предполагаю, что это один из способов предоставить старым машинам способ повысить производительность, рендерив меньше графики и просто растягивая их по экрану, но, несомненно, есть более эффективные способы повышения производительности (например, выбор различных текстур и моделей). ,

Это не так просто. Игра может работать медленно на моей машине, потому что она зависает от обработки фрагментов (возможно, много эффектов частиц, таких как дым). Снижение качества модели не потребует большой нагрузки, равно как и снижение качества текстур. С другой стороны, уменьшение разрешения значительно снижает нагрузку (переключение с 1920x1080 на 1366x768 сокращает количество пикселей для обработки вдвое).

И если мой экран оказывается большим - как телевизор (например, мои текущие настройки - я притворяюсь, что мой компьютер больше xbox), - тогда при заданном расстоянии просмотра большее разрешение не дает мне много. Поэтому у меня есть веская причина уменьшить разрешение и, возможно, даже использовать дополнительную вычислительную мощность, чтобы получить более детальное освещение или тени.

Кос
источник