2

Так как игры по-прежнему отстают от них, особенно когда они играют в полноэкранном режиме, мне бы хотелось, чтобы некоторые из них играли в окна. Проблема в том, что в некоторые игры нужно играть в разрешении 720p, или они слишком медленные. 720p сделало бы окно игры довольно маленьким на моем 27-дюймовом экране с разрешением 107 точек на дюйм.

Есть ли способ увеличить произвольное масштабирование окна Direct X (или OpenGL), как можно меньше напрягать графический процессор, получая при этом достаточно большую площадь поверхности, на которую можно смотреть?

PS: я был разорван тем, должен ли я публиковать это на играх или здесь, и закончил с этим.

Изменить: Чтобы уточнить, я не ищу настройки разрешения в игре, а скорее метод, чтобы получить рендеринг игры с разрешением 720p до чего-то большего - то же разрешение, но с большим количеством пикселей между ними. Как изменение размера изображения.

1 ответ1

1

Я думаю, вы обнаружите, что многие игры DX/OpenGL автоматически изменят размер при изменении размера окна. Это проблема того, что вы просто не можете изменить размеры окон, чтобы заполнить экран, но если бы вы могли, или вы пытались изменить размер окна, и оно ломалось во всем, кроме 1280x720? Если это первое, у меня есть скрипт AutoHotKey для вас.

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

Это займет все окна, которые соответствуют одному из разделов, и заставит его работать в полноэкранном режиме без рамки, даже если игра не поддерживает его. Просто установите игру в оконный режим, и он позаботится обо всем остальном. Вы можете использовать AutoHotKey Window Spy, чтобы узнать название окна / класс окна, чтобы добавить в него новые игры. Я включил все игры, с которыми я обычно запускаю его.

Вы также можете изменить% MonWindth% или% MonHeight% на просто цифры для конкретной игры, если вы хотите другое соотношение сторон. Большинство игр, которые я нашел, хорошо работают с этим сценарием, хотя то, как игра реагирует на него, полностью зависит от него. Игра может автоматически масштабироваться, игра может просто оставить черное пространство, она может рухнуть; Я еще не видел ничего подобного в играх, указанных выше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .