ROM Hack RELEASE The Witcher 3 60 FPS and Dynamic Resolution Tweaks

masagrator

The patches guy
OP
Developer
Joined
Oct 14, 2018
Messages
6,270
Trophies
3
XP
12,037
Country
Poland
This thread will include IPS patch for unlocking 60 FPS and how to change Dynamic Resolution values. Thanks to triple buffer 60 FPS drops are not that frustrating as f.e. in Link's Awakening.
It was confirmed working for PL [010039400E8D6000] and EU [01003D100E9C6000] releases.

Unlocking 60 FPSDynamic Resolution Config TweaksDynamic Resolution Exefs Tweaks

  1. First step to get 60 FPS is to unlock it. It works only with versions: 3.4-3.7
    - Download:
    > For versions 3.4 and 3.5: TW3-60FPS.zip
    > For version 3.6: TW3-60FPS-3.6.zip
    > For version 3.7: TW3-60FPS-3.7.zip
    > For version 4.04b: TW3-60FPS-4.04b.zip
    - put exefs_patches folder to
    atmosphere
    or
    sxos

    And Restart Switch.

    Now you have 30 FPS lock deleted, but it will still not achieve 60 FPS because Dynamic Resolution is in the way. So we need to tweak it also.
    Recommended OC settings for 60 FPS:
    Code:
    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
  2. First we need to backup our save with Edizon or Checkpoint. IT'S MANDATORY TO HAVE AT LEAST ONE GAME SAVE OR AUTOSAVE! ELSE SETTINGS WILL RESET TO DEFAULT!

    In backup folder you will find folder user.settings and inside settings.txt

    Now we need to find line
    Code:
    [Rendering]

    Below that we can paste any line from this list (I think they are easy to understand what some of them are doing):
    Code:
    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. I will focus only on settings that will make 60 FPS available and tweak cinematics for 30 FPS.

    • For 60 FPS I recommend to paste those 2 lines:
    Code:
    DRGameTargetFrameTimeInMs=14.0
    DRCinematicTargetFrameTimeInMs=14.0

    As you can see, we changed 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 I recommend to paste this line:
    Code:
    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

    Code:
    DynamicResolutionOverride=-1
    means that Dynamic Resolution is enabled
    Starting from 0 we can disable it.

    Ad. It looks like Inventory glitches for different values for each person. Only confirmed value that is not glitching is 25.
    Code:
    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
    Going above will just set last known resolution.

    Now just restore backuped save with changed config.
  3. This tab will include some more advanced editing. Improper editing it can result in crashing game or system.

    • Changing minimal Dynamic Resolution

    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.

    You need to download:
    > For versions 3.4 and 3.5: TW3-DR.zip
    > For version 3.6: TW3-DR-3.6.zip
    > For 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)
    > For version 4.04b: TW3-DR-4.04b.zip (NOTE: from 4.04b game is using W26 and W19 registers instead of W22, so underlined bytes are slightly different in IPS file dedicated for this version)
    and unpack it. Open IPS file with hex editor (for example HxD)
    You will get something like this
    Przechwytywanie.PNG

    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 f.e. this site
    http://armconverter.com/hextoarm/

    As example we are taking red value -
    Code:
    16688052
    We got this
    Code:
    MOVZ    W22, #0x340
    We need to change "340". This is hex value. You can use this site to convert it to decimal value
    https://www.binaryhexconverter.com/hex-to-decimal-converter
    After converting we got 832. We want to change it to 640. We can convert it back with f.e. this site
    https://www.binaryhexconverter.com/decimal-to-hex-converter
    After converting we got "280".
    Now our instruction should look like
    Code:
    MOVZ    W22, #0x280
    We need to convert this instruction to hex. We can use f.e. this site
    http://armconverter.com/
    After converting we need to copy value from ARM64 window. So we got hex
    Code:
    16508052
    And now we need to replace our new hex with old hex and save file. Put folder exefs_patches to sdcard folder

    atmosphere
    or
    sxos

    And restart Switch.
 

Attachments

  • TW3-60FPS.zip
    357 bytes · Views: 5,158
  • TW3-DR.zip
    370 bytes · Views: 2,850
  • TW3-60FPS-3.6.zip
    358 bytes · Views: 1,257
  • TW3-DR-3.6.zip
    369 bytes · Views: 1,076
  • TW3-DR-3.7.zip
    369 bytes · Views: 715
  • TW3-60FPS-3.7.zip
    358 bytes · Views: 822
  • TW3-60FPS-4.04b.zip
    423 bytes · Views: 48
  • TW3-DR-4.04b.zip
    436 bytes · Views: 40
Last edited by masagrator,

lh411

Well-Known Member
Member
Joined
Sep 13, 2019
Messages
188
Trophies
0
Age
32
XP
912
Country
China
Don't know. :D This was all extracted from one function. I used it for lowering resolution than disabling it.
okay.let me try.hhh

--------------------- MERGED ---------------------------

Don't know. :D This was all extracted from one function. I used it for lowering resolution than disabling it.
lower ing resolution is work?
 
  • Like
Reactions: jeppad

Esppiral

Well-Known Member
Member
Joined
Aug 24, 2014
Messages
352
Trophies
0
Age
41
XP
1,198
Country
Trying it with minimal 1920x1080 hope my switch does not fry.

--------------------- MERGED ---------------------------

There is no difference setting the minimal dynamic resolution to 720p for handheld and 1080p for docked
 

masagrator

The patches guy
OP
Developer
Joined
Oct 14, 2018
Messages
6,270
Trophies
3
XP
12,037
Country
Poland
Trying it with minimal 1920x1080 hope my switch does not fry.

--------------------- MERGED ---------------------------

There is no difference setting the minimal dynamic resolution to 720p for handheld and 1080p for docked
You can't go above 1280x720, because 1280x720 is max resolution and this is outside Dynamic Resolution function.
 
  • Like
Reactions: Esppiral

hughlee90

Member
Newcomer
Joined
Sep 20, 2019
Messages
7
Trophies
0
Age
44
XP
88
Country
United States
would overclocking this mich kill or throttle my switch. thanks

--------------------- MERGED ---------------------------

Does OC my switch will make it hotter and throttle faster?
 
  • Like
Reactions: RussianPanda

Instandhaltung

I feel it. I feel the cosmos!
Member
Joined
Aug 4, 2016
Messages
246
Trophies
0
Age
35
XP
1,952
Country
Germany
So we can set the minimum resolution, but not the maximum resolution in combination with dynamic resolution?
I can't, for example, set the max res to 720p in portable while keeping the dynamic res for busier areas?
 
  • Like
Reactions: torekiki

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: