Por que os jogos solicitam resolução de tela em vez de ajustar automaticamente o tamanho da janela?

32

Parece-me que seria mais lógico, reutilizável e fácil de implementar implementar um layout de interface do usuário flexível e responsivo em uma tela 3D ou 2D, que pode ser executada em qualquer resolução de tela.

Alguns jogos modernos detectam automaticamente a resolução da tela e ajustam o jogo a isso, mas a opção de alterar a resolução ainda permanece nas configurações.

Por que essa opção existe?

Meu palpite é que essa é uma maneira de fornecer às máquinas mais antigas uma maneira de melhorar o desempenho, renderizando menos gráficos e estendendo-os pela tela, mas certamente existem maneiras melhores de melhorar o desempenho (escolhendo diferentes qualidades de textura e modelo, por exemplo) .

user44900
fonte
1
Além do que foi dito aqui, acho que alguns jogos também escolhem uma das resoluções mais baixas como sendo 'segura': quase todas as configurações de hardware o suportam, então os jogos começam sem travar e o usuário pode alterar a resolução no jogo .
MicroVirus
@MicroVirus Eu recomendo muito este, começando com um modo seguro e com probabilidade de iniciar é um bom plano em um pleform muito variável.
Validade
4
" Parece-me que seria mais lógico, reutilizável e fácil de usar implementar um layout de interface do usuário flexível e responsivo em uma tela 3D ou 2D " - Parece-lhe, mas na prática é geralmente mais fácil e barato não fazer isso.
Superbest
@Superbest: Como contra-argumento, o World of Warcraft mudou para uma "UI lógica de tamanho fixo" (ish). A interface do usuário tem 768 "pixels em escala" de altura e uma largura apropriada ao aspecto: wowwiki.com/UI_coordinates (geralmente 1024x768, 960x768 ou 1229x768)
Mooing Duck
Talvez um layout de interface do usuário responsivo seja bom quando um jogo não exige ações altas por minuto. Eu sei que alguns jogadores de WarCraft e StarCraft preferem um layout fixo para que possam tirar proveito de sua memória muscular.
Sun

Respostas:

51

Isso permite que o usuário escolha a qualidade do jogo versus seu desempenho. Alguns preferem configurações gráficas de alta qualidade em uma resolução mais baixa, outros o oposto. Alguns computadores podem lidar com configurações máximas em tudo, outros não.

Dispositivos com hardware homogêneo (PlayStation, Xbox, iPhone ...) geralmente não oferecem configurações gráficas por esse motivo.

esquimó
fonte
4
Vale ressaltar que o desempenho de alguns jogos depende muito da resolução da tela. Tente diminuir os res do seu jogo se estiver com baixo desempenho para ver se é esse o caso.
precisa saber é o seguinte
1
Também é importante notar que a redução da resolução solucionará os gargalos de desempenho que ocorrem como resultado da taxa inadequada de preenchimento da GPU e da taxa de transferência do shader. A qualidade do sombreador nem sempre está ligada à resolução, mas para oclusão ambiental, anti-aliasing e outra detecção de borda, pode muito bem ser!
Gusdor #
29

Não há como detectar completamente de forma confiável a resolução de tela correta.

Uma abordagem é simplesmente deixar a resolução da área de trabalho do usuário. Isso é irritante, pois conheço várias pessoas (algumas com deficiência visual) que preferem executar a área de trabalho em uma resolução mais baixa para fazer as coisas parecerem maiores, mas ainda preferem jogos na resolução nativa em que texto e detalhes pequenos são mais raros e menos crítico.

Outra abordagem é consultar a lista de modos suportados do monitor. Da mesma forma, não é confiável: alguns monitores não fornecem lista de modos ou a fornecem incorretamente. Alguns fornecem resoluções mais altas que a nativa, que são capazes de fazer uma amostragem hedionda enquanto sofrem um impacto no desempenho ...

De certa forma, sua pergunta se aplica a qualquer configuração fornecida por um jogo. "Por que devo perguntar ao usuário quando posso adivinhar o que é melhor para ele?" Por que eu perguntaria a eles sobre configurações de qualidade quando eu posso detectar o hardware deles? Por que eu perguntaria sobre o FOV se eu sei qual é a aparência do jogo? Por que devo permitir que os usuários desativem o AA se seus computadores podem lidar com isso? Esta questão mais geral destaca a resposta real, que é dupla:

Às vezes , suas suposições estão erradas , pois você nem sempre terá as informações corretas de hardware para adivinhar. E se a placa de vídeo de um usuário estiver com erros, causando uma falha no computador com uma determinada resolução e você não permitir que ele seja desativado? Seu jogo agora é inútil para eles. Além disso, os usuários gostam de escolhas . Talvez alguém prefira a aparência difusa de reproduzir uma resolução não nativa, mesmo que esteja "errada". Talvez eles tenham um monitor CRT que suporte muitas resoluções e o melhor não seja o mais alto, ou eles obtêm melhores taxas de atualização em um menor.

Na verdade, você não pode julgar com precisão o que o usuário deseja com base nas informações do computador, nem com o que funcionará melhor . É melhor deixar para o usuário (quem conhece seu próprio computador) decidir.

(Observe que apenas cobri PC aqui. Os consoles são uma história diferente, mas já foram cobertos por outros.)

Validade
fonte
17
+1; isso me incomoda particularmente em jogos que não me dão um controle deslizante gama (ou pelo menos uma configuração de brilho). É ótimo que você encontrou um olhar que você acha que faz o seu jogo olhar melhor em seus monitores, mas o monitor não é o meu monitor, e eu @% & $ ing ambientes ódio escuros, onde eu não posso ver. Não me importo se o preto no preto é "o ponto" do seu nível furtivo, quero ver o que estou fazendo.
Brian S
1
"e se a placa de vídeo de um usuário estiver com erros causando uma falha no computador com uma determinada resolução e você não os deixar desativá-la" ah, os bons e velhos tempos com D2 e ​​o grito de guerra do bárbaro que sempre
travava
Você pode detectar de maneira bastante confiável a resolução nativa, a resolução da área de trabalho é um bom indicador. Praticamente todo mundo executa isso em resolução nativa, e é pelo menos um bom ponto de partida. No entanto, isso não significa que você não deve oferecer a opção de alterá-lo. Para o meu projeto atual, a tela cheia funcionará apenas na resolução nativa (área de trabalho) e, se as pessoas quiserem baixá-la por qualquer motivo, vá para o modo janela ou altere o tamanho do alvo de renderização traseira e deixe a placa gráfica esticar isto.
Programmdude
2
Eu tive uma experiência recente testando beta de um jogo que não vou nomear, pois ele ainda não foi lançado, que em vez de configurações gráficas adequadas detectou automaticamente a resolução da tela do usuário. Acabou tão mal que tornou o jogo completamente impossível de jogar para muitos testadores , e a solução alternativa sugerida pelos desenvolvedores foi alterar a resolução da tela ou a taxa de atualização do monitor , e mesmo isso não funcionou para todos. Felizmente, essa detecção automática é apenas parte da versão beta e presume-se que o jogo final tenha opções de resolução de tela.
precisa saber é o seguinte
@BoltClock Entendo que, totalmente, meu próprio monitor (um Dell ultrasharp de ponta bastante alta) relata uma lista falsa de modos, se o software procurar apenas o mais alto e exibi-lo, ou recebo artefatos gráficos estranhos ou ele não será exibido .
Validade 24/04
7

Existem vários motivos para permitir que o usuário controle as configurações do jogo.

  • MUITAS pessoas têm 2 (ou mais) monitores atualmente. O usuário deve poder determinar em qual jogar o jogo.
  • Existem milhares de dispositivos diferentes que um usuário pode estar usando, e nenhuma maneira de dizer com segurança qual configuração seria ideal para cada um.
  • Alguns usuários podem preferir configurações inferiores às "ideais" por motivos que variam de melhor desempenho do jogo a pouca visão (resolução mais baixa = texto maior!).
  • Alguns usuários podem preferir jogar o jogo em janela, para que possam ter suas caixas de bate-papo, orientações, reprodutor de música ou outros programas visíveis ao mesmo tempo que o jogo.

Dito isso, muitos jogos detectam automaticamente e, em seguida, definem as configurações iniciais para o que achar melhor da sua máquina.

aslum
fonte
1
Excluindo o modo de janela, existem jogos que permitem escolher em qual monitor executar? Sou multi-monitor há vários anos e nunca me lembro de um jogo em tela cheia, dando a opção de rodar em algo diferente da minha tela principal.
Dan Neely
Não me lembro de detalhes, mas pelo menos alguns jogos assumiram o controle do meu monitor secundário e, ocasionalmente, tive jogos que alteraram as configurações dos monitores ... Se eu tiver uma resolução no monitor diferente de o padrão ... bem, provavelmente há uma razão.
aslum
2
Eu já vi alguns jogos com isso como uma opção, geralmente chamada de 'adaptador de vídeo' no menu. EVE Online é um exemplo.
Ben
5

Isso ocorre porque o custo e o efeito da qualidade da textura, detalhes da geometria e resolução da tela dependem muito do hardware.

A qualidade da textura geralmente não tem muito impacto na velocidade do pipeline de renderização, mas apenas quando são lidas na memória da GPU. Quando nem todas as texturas cabem na memória da GPU, elas precisam ser lidas na RAM normal ou, pior ainda, no cache do disco rígido, o que afeta negativamente o desempenho. Reduzir a geometria * e omitir efeitos caros ** não ajudará muito. Mas quando a velocidade de execução do pipeline de renderização é o gargalo, reduzir a resolução da textura também não ajuda muito.

Os shaders de vértice geralmente não são afetados pela resolução de saída. A única maneira de reduzir a carga sobre eles é reduzir a qualidade e a quantidade dos modelos 3D em cena.

Porém, qualquer pixel shaders ainda é dimensionado linearmente com o número de pixels na tela. Reduzir a resolução da tela ainda é uma ferramenta importante para melhorar o desempenho. Ter metade da resolução horizontal e vertical significa que você tem apenas um quarto das chamadas para os pixel shaders.

Ao contrário dos monitores CRT mais antigos, as modernas telas de LCD ou plasma têm uma resolução nativa de pixels. Quando eles são alimentados com um fluxo de vídeo em uma resolução diferente, eles precisam interpolar. Alguns interpolam muito melhor do que outros, o que significa que executá-los em uma resolução mais baixa não reduz muito a qualidade da imagem, enquanto outros monitores ficam realmente ruins quando não são executados em sua solução nativa (a primeira tela LCD que possuía usava interpolação de vizinhos mais próximos, que parecia horrível . Com minhas telas atuais, é difícil dizer quando elas não são executadas na resolução correta).

O mecanismo do jogo não pode saber quão bem o monitor do usuário interpola, portanto, é melhor deixar a opção de reduzir detalhes de textura e geometria ou reduzir a resolução da tela para o usuário.

*) OK, reduzir a geometria pode ajudar um pouco, porque os vértices também consomem memória da GPU.

**) a menos que, é claro, omitir esses efeitos signifique que algumas texturas não são mais necessárias

Philipp
fonte
1
Apenas para nitpick: os CRTs têm um "pitch dot", o que significa que eles realmente têm uma resolução nativa. Os fósforos em um CRT têm um tempo de decaimento, o que significa que um CRT também possui uma taxa de atualização ideal.
precisa
@ZanLynx Mas, até onde sei, nunca foi possível fazer com que as linhas de varredura lógicas se alinhassem perfeitamente aos elementos físicos das máscaras de sombra dos CRTs, como se pode fazer com um LCD.
Damian Yerrick
2

Não apenas as configurações de resoluções predefinidas possibilitam reagir com o desempenho de alguma forma, mas criar uma abordagem universal, que se adapta a todos os tipos de resoluções, proporções e dpis, é muito mais difícil de criar.

Se você criar apenas algumas resoluções diferentes, será uma preocupação do usuário escolher a melhor aparência para ele (especialmente quando sua resolução / proporção for incomum). Se você cria um design universal, é responsável por tornar o jogo perfeito em todos os dispositivos (hoje em dia pode ser especialmente difícil para celulares, principalmente não no iOS, mas nas outras plataformas com uma enorme variedade de dispositivos).

kreys
fonte
2

Motivo adicional: Mudando ambientes.

1080 agora é padrão, mas não era há 5 anos. 4k está entrando na imagem e quanto tempo até 6k / 8k / 1080k (ou o que seja) entra na imagem? E quanto aos jogos em um computador de 8 anos que atinge o máximo de 1280x720? 1024x768? 640 x 400?

Meu monitor suporta nativos de 4k, mas afogaria a largura de banda necessária e chegaria ao máximo a 30fps. Deixe-me mudar para 1080 (ou inferior) para que o jogo corra a 60fps e o texto / hud / etc não seja microscópico.

(Além disso: dê-me janelas / janelas maximizadas também, por favor, para que eu possa navegar facilmente lol)

WernerCD
fonte
3
1080k ... Isso é 1 milhão de vezes a quantidade de pixels em uma tela de 1080p. Isso equivale a 2 trilhões de pixels, exigiria pelo menos 8 TB de VRAM e requer cerca de 4000 terabits / s para conduzir. Eu realmente gostaria de ver uma exibição tal, ea quantidade de energia que iria consumir ...
Panda Pajama
0

Meu palpite é que essa é uma maneira de fornecer às máquinas mais antigas uma maneira de melhorar o desempenho, renderizando menos gráficos e estendendo-os pela tela, mas certamente existem maneiras melhores de melhorar o desempenho (escolhendo diferentes qualidades de textura e modelo, por exemplo) .

Isso não é tão simples. Um jogo pode ficar lento na minha máquina porque está preso no processamento de fragmentos (talvez muitos efeitos de partículas como fumaça). Reduzir a qualidade do modelo não exigiria muita carga a partir daqui, nem reduziria a qualidade da textura. Por outro lado, diminuir a resolução reduz drasticamente a carga aqui (uma mudança de 1920x1080 para 1366x768 reduz pela metade o número de pixels a serem processados).

E se minha tela for grande - como uma TV (como minha configuração atual - eu finjo que meu PC é um xbox maior) - então, em uma determinada distância de visualização, uma resolução maior não me dá muito. Portanto, tenho um bom motivo para diminuir a resolução e talvez até usar o poder de processamento extra para obter iluminação ou sombras mais detalhadas.

Kos
fonte