Ken2
11-06-24, 06:52 PM
I am posting this to help others who face the same issue.
There are several desirable reasons to run the game in borderless fullscreeen as opposed to fullscreen. A big one being that on most systems the resolution change during the switch to fullscreeen will mess up the size of all open windows and permanently rearrange all your desktop icons as well. On multi-monitor systems things can be even worse, on older games the switch to low resolution fullscreen mode can sometimes cause the monitors to resync to black several times, sometimes with long delays.
Unfortunately, as you may have tried, you cannot simply use a tool like BorderlessGaming alone to fix this issue. If you just change the window size the UI and game will not scale to the new window size, the SH3 UI is essentially hand placed by pixel to run at only certain resolutions.
The solution is to both change the window size and then use a tool like Lossless Scaling to actually upscale the game to your monitors resolution. This is similar to the type of scaling done in emulators, if you are familiar.
Requirements:
For my method you need two programs:
1. "Borderless Gaming"
A program to change the window size of the game is needed. For this I use "Borderless Gaming". Older versions are available free of charge. The newer versions on steam cost $6.99. I use one of the free older versions without issue.
https://github.com/codeusa/borderless-gaming/releases
or
https://store.steampowered.com/app/388080/Borderless_Gaming/
2. "Lossless Scaling"
A program is needed that can dynamically scale and rerender the pixels of the game to our chosen resolution. This is much more complicated to do than changing a program's window size, so it is difficult to find a tool to do this, the only program I could find was "Lossless Scaling". What we need is something that can scale SH3 essentially the same way that the scalers in most emulators scale old console games to your window size.
Lossless Scaling isn't free and costs $6.99, but there isn't really an alternative and it greatly enhances the SH3 user experience on modern PCs, I think it is an easy purchase. Not having to deal with all your window sizes, window positions and desktop icons being messed up every time you start SH3, is well worth a one-time cost of $6.99.
It's worth mentioning that the program has more uses than just scaling SH3. It can be used to scale games without changing the internal game resolution in general and the different scaling modes it has may give a performance boost if you use them instead of a game's built-in resolution settings. I have not tried using it for this purpose yet, but if you search online it seems a lot of people buy this program mostly to use it as way run games at a lower internal resolution and then scale them to a higher resolution without the normal performance hit.
https://store.steampowered.com/app/993090/Lossless_Scaling/
Unfortunately, it doesn't look like LosslessScaling can also change the window size of a program, so we still need to use it in conjunction with BorderlessGaming. We have to first set the game to the correct window size that corresponds with the UI mod that you are using. Then we scale that to our desired resolution.
How to Scale Silent Hunter 3:
1. First you need to change SH3 to run in windowed mode. Either do it through the in-game settings menu or edit the config file.
Config file method:
Edit %USERPROFILE%\Documents\SH3\data\cfg\main.cfg
set FullScreen to No under [VIDEO] settings:
[VIDEO]
Resolution=1024 x 768
DynamicShadows=No
FullScreen=No
2. Next, you need to know what resolution your version of SH3 is running at. If you are using a mod that changes the resolution to 1920x1080. Then this is the resolution your window will have to be resized to.
3. Restart SH3 if it is already running.
4. Start BorderlessGaming (Make sure it is running as Administrator) and use it to set a custom window size for SH3.exe. You want to set the position at 0,0 and the size to the proper SH3 resolution for your mod/setup. (In my case I was using a 1920x1080 mod, so I set the resolution to 1920,1080)
https://i.imgur.com/7XnB5xF.png
5. Once SH3 is scaled to the proper size. You need to use Lossless Scaling to scale the game window to your monitor resolution.
Step 1: Click the Settings button and tick the box to run as Administrator. I would also set a hotkey here that you would like to use to toggle the scaling on and off.
https://i.imgur.com/49nkMZb.png
Step 2: Next, I recommend you make a new profile in Lossless Scaling just for SH3.
https://i.imgur.com/bk2SDg7.png
Step 3: Then I would tick the box for "Adjust cursor speed" and also "Multi-Display mode". You can play with the different "Scaling Types" I leave it on the default "Nearest Neighbor" it is possible certain scaling types may give a better picture or use less of your gpu or improve performance.
https://i.imgur.com/9BA6Sjw.png
5. Now you should be ready to scale SH3. Give focus to the SH3 window and use your LosslessScaling hotkey (for me it is ctrl-alt-f11).
The game should now be scaled properly to your monitor as if it was running in borderless fullscreen.
There are several desirable reasons to run the game in borderless fullscreeen as opposed to fullscreen. A big one being that on most systems the resolution change during the switch to fullscreeen will mess up the size of all open windows and permanently rearrange all your desktop icons as well. On multi-monitor systems things can be even worse, on older games the switch to low resolution fullscreen mode can sometimes cause the monitors to resync to black several times, sometimes with long delays.
Unfortunately, as you may have tried, you cannot simply use a tool like BorderlessGaming alone to fix this issue. If you just change the window size the UI and game will not scale to the new window size, the SH3 UI is essentially hand placed by pixel to run at only certain resolutions.
The solution is to both change the window size and then use a tool like Lossless Scaling to actually upscale the game to your monitors resolution. This is similar to the type of scaling done in emulators, if you are familiar.
Requirements:
For my method you need two programs:
1. "Borderless Gaming"
A program to change the window size of the game is needed. For this I use "Borderless Gaming". Older versions are available free of charge. The newer versions on steam cost $6.99. I use one of the free older versions without issue.
https://github.com/codeusa/borderless-gaming/releases
or
https://store.steampowered.com/app/388080/Borderless_Gaming/
2. "Lossless Scaling"
A program is needed that can dynamically scale and rerender the pixels of the game to our chosen resolution. This is much more complicated to do than changing a program's window size, so it is difficult to find a tool to do this, the only program I could find was "Lossless Scaling". What we need is something that can scale SH3 essentially the same way that the scalers in most emulators scale old console games to your window size.
Lossless Scaling isn't free and costs $6.99, but there isn't really an alternative and it greatly enhances the SH3 user experience on modern PCs, I think it is an easy purchase. Not having to deal with all your window sizes, window positions and desktop icons being messed up every time you start SH3, is well worth a one-time cost of $6.99.
It's worth mentioning that the program has more uses than just scaling SH3. It can be used to scale games without changing the internal game resolution in general and the different scaling modes it has may give a performance boost if you use them instead of a game's built-in resolution settings. I have not tried using it for this purpose yet, but if you search online it seems a lot of people buy this program mostly to use it as way run games at a lower internal resolution and then scale them to a higher resolution without the normal performance hit.
https://store.steampowered.com/app/993090/Lossless_Scaling/
Unfortunately, it doesn't look like LosslessScaling can also change the window size of a program, so we still need to use it in conjunction with BorderlessGaming. We have to first set the game to the correct window size that corresponds with the UI mod that you are using. Then we scale that to our desired resolution.
How to Scale Silent Hunter 3:
1. First you need to change SH3 to run in windowed mode. Either do it through the in-game settings menu or edit the config file.
Config file method:
Edit %USERPROFILE%\Documents\SH3\data\cfg\main.cfg
set FullScreen to No under [VIDEO] settings:
[VIDEO]
Resolution=1024 x 768
DynamicShadows=No
FullScreen=No
2. Next, you need to know what resolution your version of SH3 is running at. If you are using a mod that changes the resolution to 1920x1080. Then this is the resolution your window will have to be resized to.
3. Restart SH3 if it is already running.
4. Start BorderlessGaming (Make sure it is running as Administrator) and use it to set a custom window size for SH3.exe. You want to set the position at 0,0 and the size to the proper SH3 resolution for your mod/setup. (In my case I was using a 1920x1080 mod, so I set the resolution to 1920,1080)
https://i.imgur.com/7XnB5xF.png
5. Once SH3 is scaled to the proper size. You need to use Lossless Scaling to scale the game window to your monitor resolution.
Step 1: Click the Settings button and tick the box to run as Administrator. I would also set a hotkey here that you would like to use to toggle the scaling on and off.
https://i.imgur.com/49nkMZb.png
Step 2: Next, I recommend you make a new profile in Lossless Scaling just for SH3.
https://i.imgur.com/bk2SDg7.png
Step 3: Then I would tick the box for "Adjust cursor speed" and also "Multi-Display mode". You can play with the different "Scaling Types" I leave it on the default "Nearest Neighbor" it is possible certain scaling types may give a better picture or use less of your gpu or improve performance.
https://i.imgur.com/9BA6Sjw.png
5. Now you should be ready to scale SH3. Give focus to the SH3 window and use your LosslessScaling hotkey (for me it is ctrl-alt-f11).
The game should now be scaled properly to your monitor as if it was running in borderless fullscreen.