More actions
The Witcher 3 60 FPS and Dynamic Resolution Tweaks | |
---|---|
General | |
Author | masagrator |
Type | Game Hacks |
Version | 3.7 |
License | Mixed |
Last Updated | 2021/02/21 |
Links | |
Download | |
Website | |
Support Author | |
The Witcher 3 IPS patch for unlocking 60 FPS and tutorials for changing Dynamic Resolution values.
It was confirmed working for PL (010039400E8D6000) and EU (01003D100E9C6000) releases.
User guide
Note: The tutorials below are based on the release post (last updated 2021/02/21). For the most recent information and updates, please consult the discussion thread.
60 FPS mod
First step to get 60 FPS is to unlock it. It works only with versions these versions:
- Versions 3.4 and 3.5 (TW3-60FPS.zip)
- Version 3.6 (TW3-60FPS-3.6.zip)
- Version 3.7 (TW3-60FPS-3.7.zip)
Put exefs_patches folder to the SD card:
- Atmosphere CFW
/atmosphere/
- SXOS CFW
/sxos/
And restart Switch.
Recommended OC settings for 60 FPS with sys-clk:
handheld_cpu=1326 handheld_charging_gpu=768 handheld_charging_official_cpu=1785 handheld_charging_official_gpu=921 handheld_mem=1600 docked_cpu=1785 docked_gpu=921
Dynamic resolution config tweaks
Backup your save file with EdiZon or Checkpoint first, otherwise the settings will reset to default.
In backup folder you will find folder user.settings and settings.txt inside. Open it, locate this line [Rendering]
Below that you can paste any line from this list:
DynamicResolutionOverride=-1 DRRequireCameraMove=1 DRIgnoreCPU=1 DRIgnoreVsync=1 DRGameTargetFrameTimeInMs=31.5 DRCinematicTargetFrameTimeInMs=40.0 DRIncreaseResolutionMargin=1 DRIncreaseResolutionMarginMultiply=1 DRCinematicIncreaseResolutionWaitTimeInMs=607.5 DRCinematicDecreaseResolutionWaitTimeInMs=101.5 DRGameIncreaseResolutionWaitTimeInMs=945.0 DRGameDecreaseResolutionWaitTimeInMs=157.5
These are default settings. The following will focus only on settings that will make 60 FPS available and tweak cinematics for 30 FPS.
For 60 FPS users, it is recommended to add these 2 lines:
DRGameTargetFrameTimeInMs=14.0
DRCinematicTargetFrameTimeInMs=14.0
- This will change dynamic resolution frametime interval for gameplay from 31.5 ms to 14 ms and for cinematics from 40 ms to 14 ms.
For 30 FPS users, it is recommended to add this line:
DRCinematicTargetFrameTimeInMs=31.5
- It will change dynamic resolution frametime interval for cinematic from 40 ms to 31.5 ms, solving some issues with framedrops in cutscenes
Fixing resolution, you can disable Dynamic Resolution by using DynamicResolutionOverride:
DynamicResolutionOverride=-1
means that Dynamic Resolution is enabled.- Starting from 0 we can disable it.
- (Note: It looks like Inventory glitches for different values for each person. Only confirmed value that is not glitching is 25.)
- Going above the list will just set last known resolution.
▼ List |
---|
Value | Handheld resolution | Docked resolution 0 | 832x468 | 956x536 1 | 848x476 | 956x536 2 | 860x488 | 956x536 3 | 884x496 | 956x536 4 | 900x508 | 956x536 5 | 920x516 | 956x536 6 | 936x528 | 956x536 7 | 956x536 | 956x536 8 | 972x548 | 972x548 9 | 992x556 | 992x556 10 | 1008x568 | 1008x568 11 | 1028x576 | 1028x576 12 | 1044x588 | 1044x588 13 | 1064x596 | 1064x596 14 | 1080x608 | 1080x608 15 | 1100x616 | 1100x616 16 | 1116x628 | 1116x628 17 | 1136x636 | 1136x636 18 | 1152x648 | 1152x648 19 | 1172x656 | 1172x656 20 | 1188x668 | 1188x668 21 | 1208x676 | 1208x676 22 | 1224x688 | 1224x688 23 | 1244x696 | 1244x696 24 | 1260x708 | 1260x708 25 | 1280x720 | 1280x720 |
Then just restore your backup save with changed config.
Dynamic Resolution ExeFS Tweaks
This section will include some more advanced editing. Improper editing it can result in crashing game or system.
(Warning: This works only with versions 3.4-3.7. After changing it Fixing resolution point from Dynamic Resolution Config Tweaks will scale different, but still 25 is 1280x720.)
For changing minimal Dynamic Resolution, you will need:
- Versions 3.4 and 3.5 - TW3-DR.zip
- Version 3.6 - TW3-DR-3.6.zip
- Version 3.7 - TW3-DR-3.7.zip (NOTE: from 3.7 game is using W29 register instead of W22, so underlined bytes are slightly different in IPS file dedicated for this version)
Unpack it. Open IPS file with hex editor (for example HxD), you will get something like this:
Each color is different instruction with different config.
- Red - Handheld width
- Green - Handheld height
- Brown - Docked width
- Pink - Docked height
You need to convert those hex values to ARM instructions. You can use this site.
- As example we are taking red value
16688052
- We got this
MOVZ W22, #0x340
- We need to change "340". This is hex value. You can use this site to convert it to decimal value.
- After converting we got "832". We want to change it to 640. We can convert it back with this site.
- After converting we got "280".
- Now our instruction should look like
MOVZ W22, #0x280
- We need to convert this instruction to hex. We can use this site.
- After converting we need to copy value from ARM64 window. So we got hex
16508052
And now we need to replace our new hex with old hex and save file. Put folder exefs_patches to the SD card:
- Atmosphere CFW
/atmosphere/
- SXOS CFW
/sxos/
And restart Switch.
Screenshots
Handheld min. res 640x360, drops below 468p with 60 FPS (AA On, blur off) |
Using with the Enhanced Settings mod |