Modo em janelas escalonadas?

2

Como os jogos ainda são difíceis de usar, especialmente quando se joga em tela cheia, eu gostaria da idéia de jogar alguns deles em janelas. O problema é que alguns dos jogos precisam ser reproduzidos em resolução de 720p, ou são muito lentos. 720p tornaria a janela do jogo bastante pequena na minha tela de 27 "107dpi.

Existe uma maneira de obter uma janela arbitrária do Direct X (ou OpenGL) aprimorada para sobrecarregar o GPU o mínimo possível, enquanto obtém uma área de superfície grande o suficiente para olhar?

PS: Eu estava dividido se deveria postar isso em jogos ou aqui, e acabei com esse aqui.

Editar: Para esclarecer, não estou procurando a configuração de resolução no jogo, mas sim um método para fazer com que um jogo renderizado em resolução de 720p seja aprimorado para algo maior - a mesma quantidade de resolução, mas com mais pixels em entre. Como um redimensionamento de imagem.

    
por Henrik Paul 21.12.2011 / 18:11

1 resposta

1

Acho que você descobrirá que muitos jogos DX / OpenGL serão redimensionados automaticamente quando a janela for redimensionada. Isso é um problema de você só não pode redimensionar as janelas para preencher a tela, mas faria se você pudesse, ou você tentou mudar o tamanho da janela, e quebra em algo diferente de 1280x720? Se for o primeiro, eu tenho um script AutoHotKey para você.

Loop
{
SysGet MonPrim,Monitor
SysGet MonWidth,0
SysGet MonHeight,1
    IfWinActive, Sins of a Solar Empire
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    IfWinActive, ahk_class Wolf2
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    IfWinActive, ahk_class CoD4
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    IfWinActive, ahk_class Skyrim
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    IfWinActive, ahk_class Valve001
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }

    IfWinActive, Need for Speed™ SHIFT
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    IfWinActive, ahk_class FEAR
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    IfWinActive, Bioshock
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    IfWinActive, Torchlight
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    IfWinActive, Dead Space
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    IfWinActive, Borderlands
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    IfWinActive, ahk_class Titan Quest: Immortal Throne
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    IfWinActive, ahk_class The Witcher
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    IfWinActive, Unreal Tournament 2004
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    IfWinActive, Magicka
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    IfWinActive, ahk_class Afx:00400000:0:00000000:01900011:00000000
    {
        WinSet, Style, -0xCF0000 ; remove the titlebar and border(s)
        WinMove, , , %MonPrimLeft%, %MonPrimTop%, %MonWidth%, %MonHeight% ; move the window to 0,0 and rseize it
    }
    Sleep 1000 ; 1 Second
}
return

Isso fará com que todas as janelas correspondam a uma das seções e forcem a tela cheia sem borda, mesmo que o jogo não a suporte. Basta definir o jogo para o modo de janela e ele vai cuidar do resto. Você pode usar o Window Spy do AutoHotKey para descobrir o título da janela / classe da janela para adicionar novos jogos a ele, eu incluí todos os jogos com os quais eu geralmente o uso.

Você também pode alterar% MonWindth% ou% MonHeight% para apenas números de um determinado jogo se desejar uma proporção diferente. A maioria dos jogos que eu encontrei funciona bem com este script, mas como um jogo reage a ele é todo ele. O jogo poderia escalar automaticamente, o jogo poderia simplesmente deixar espaço em preto, ele poderia falhar; Ainda não vi nada disso com os jogos indicados acima.

    
por 21.12.2011 / 19:07