I wonder if it's possible to have the script launch the game through steam since i've set steam to launch sfse and i get sfse + steam ingame overlay. would it be possible to have the script send the command "steam://rungameid/1716740" instead of launching the exe? that way i think it doesn't really need to be in the same folders as the exe maybe? I'm really not experienced in autohotkey but it would be really cool to have a tool that i can use to change resolution when launching games :)
Edit: i think i did it :) i only had to change the run command from: Run(gameExePath)to: Run("path\to\steam\ steam://rungameid/1716740")
i suppose you can always make the code to check what version of the game is installed based on where is installed and have it change the gameexepath variable before running maybe? but yeah the way is coded right now works fine and i think the steam overlay doesn't work only if you have also reshade
How does this interact with a multi-monitor setup? Is there a way to choose which monitor this affects? Especially monitors with different native resolutions.
For anyone else with multi-monitor using this: I just looked the nircmd docs and the setdisplay command does have a monitor selection parameter that'd be relatively easy to add in if you need.
OP: if you wanted to add in the options, something like this I think should work, though I've not done much AHK or any nircmd before. Thanks for sharing your script!
; CONFIG multiMonitor := false desiredMonitor := "" desiredWidth := 2560 desiredHeight := 1080 resolutionRestoreDelay := 1000 ; Time in milliseconds to wait before restoring the original resolution gameExeName := "Starfield.exe"
If you have an AMD card, this isn't necessary, as AMD Adrenaline Software will do this automatically with Radeon Super Resolution (which is different than FSR).
First, Open the game, set it to Borderless Window and your Native Resolution, close the game open AMD Software, select Starfield's profile, Enable Radeon Super Resolution - Borderless Fullscreen.
Set it to quality (one resolution Step down from your native resolution, IE 1920x180p in my case for my 1440p monitor), and set the image quality to 75 (change this if you have to, but I found this was a sweet spot for me for performance vs quality).
With this enabled, I was able to get 80 FPS average on Ultra (w/ motion blur turned off) on my RX 6600 @ 1440p, where I would only get 30-40fps with it turned off.
I've been using this program for years and is much easier to setup and use then Autohotkey https://funk.eu/hrc/ - HRC - Hotkey Resolutiuon Changer V2.1
10 comments
Edit: i think i did it :) i only had to change the run command from:
Run(gameExePath)
to:Run("path\to\steam\ steam://rungameid/1716740")
I'll leave it as is for now since Gamepass/Windows Store players should be able to use it as well with the current setup. :)
; CONFIG
multiMonitor := false
desiredMonitor := ""
desiredWidth := 2560
desiredHeight := 1080
resolutionRestoreDelay := 1000 ; Time in milliseconds to wait before restoring the original resolution
gameExeName := "Starfield.exe"
; Change resolution to the desired resolution
if multiMonitor {
Run(A_ScriptDir "\nircmd.exe setdisplay monitor:" desiredMonitor " " desiredWidth " " desiredHeight " 32")
Sleep(1000)
}
else {
Run(A_ScriptDir "\nircmd.exe setdisplay " desiredWidth " " desiredHeight " 32")
Sleep(1000)
}
First, Open the game, set it to Borderless Window and your Native Resolution, close the game open AMD Software, select Starfield's profile, Enable Radeon Super Resolution - Borderless Fullscreen.
Set it to quality (one resolution Step down from your native resolution, IE 1920x180p in my case for my 1440p monitor), and set the image quality to 75 (change this if you have to, but I found this was a sweet spot for me for performance vs quality).
With this enabled, I was able to get 80 FPS average on Ultra (w/ motion blur turned off) on my RX 6600 @ 1440p, where I would only get 30-40fps with it turned off.
https://funk.eu/hrc/ - HRC - Hotkey Resolutiuon Changer V2.1