RELEASE The Witcher 3 60 FPS and Dynamic Resolution Tweaks

Discussion in 'Switch - ROM Hacking, Saves, Translations & Tools' started by masagrator, Oct 15, 2019.

Loading...
  1. masagrator
    OP

    masagrator The developper

    Member
    11
    Oct 14, 2018
    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.

    • First step to get 60 FPS is to unlock it. It works only with version 3.4 and 3.5
      - Download TW3-60FPS.zip
      - put exefs_patches folder to
      atmosphere
      or
      reinx
      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
    • 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):
      List

      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.
      List
      Going above will just set last known resolution.

      Now just restore backuped save with changed config.
    • 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 version 3.4 and 3.5. After changing it Fixing resolution point from Dynamic Resolution Config Tweaks will scale different, but still 25 is 1280x720.

      You need to download TW3-DR.zip and unpack it. Open file 7D0794DC20FAF372B79B20D74DC2F481.ips with hex editor (for example HxD)
      You will get 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 HEX 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
      reinx
      or
      sxos

      And restart Switch.
     

    Attached Files:

    Last edited by masagrator, Nov 5, 2019
    Jiehfeng, lanner, Khodeus and 19 others like this.
  2. lh411

    lh411 Advanced Member

    Newcomer
    1
    Sep 13, 2019
    China
    it means we don't turn off Dynamic Resolution throughout?whatever thanks for you
     
  3. masagrator
    OP

    masagrator The developper

    Member
    11
    Oct 14, 2018
    Poland
    You can try by setting minimal dynamic resolution to 1280x720 (first 4 lines, two for Handheld, two for Docked)
     
    Esppiral likes this.
  4. lh411

    lh411 Advanced Member

    Newcomer
    1
    Sep 13, 2019
    China
    it works ?
     
  5. masagrator
    OP

    masagrator The developper

    Member
    11
    Oct 14, 2018
    Poland
    Don't know. :D This was all extracted from one function. I used it for lowering resolution than disabling it.
     
  6. lh411

    lh411 Advanced Member

    Newcomer
    1
    Sep 13, 2019
    China
    okay.let me try.hhh

    — Posts automatically merged - Please don't double post! —

    lower ing resolution is work?
     
    jeppad likes this.
  7. masagrator
    OP

    masagrator The developper

    Member
    11
    Oct 14, 2018
    Poland
    It's working. I can confirm resolution and targetframetime are working. I don't know about others.
     
  8. Esppiral

    Esppiral GBAtemp Regular

    Member
    5
    Aug 24, 2014
    Trying it with minimal 1920x1080 hope my switch does not fry.

    — Posts automatically merged - Please don't double post! —

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

    masagrator The developper

    Member
    11
    Oct 14, 2018
    Poland
    You can't go above 1280x720, because 1280x720 is max resolution and this is outside Dynamic Resolution function.
     
    Esppiral likes this.
  10. Esppiral

    Esppiral GBAtemp Regular

    Member
    5
    Aug 24, 2014
    Maybe this is a placebo effect, but set to 1280x720 looks so much better.

    2019101519272000-1BB2CE368C4381D1A5EF7A2C59901B8F.
     
  11. hughlee90

    hughlee90 Newbie

    Newcomer
    1
    Sep 20, 2019
    United States
    would overclocking this mich kill or throttle my switch. thanks

    — Posts automatically merged - Please don't double post! —

    Does OC my switch will make it hotter and throttle faster?
     
  12. Kirby567fan

    Kirby567fan GBAtemp Regular

    Member
    5
    Jan 6, 2018
    Morocco
    It will make it hotter and the fan will be quite loud.
     
  13. Loonelywolf

    Loonelywolf Advanced Member

    Newcomer
    1
    Jun 22, 2019
    Portugal
    So do we need to overcloak to play 30fps without dynamic resolution undocked?
     
  14. masagrator
    OP

    masagrator The developper

    Member
    11
    Oct 14, 2018
    Poland
    Definitely
     
  15. Loonelywolf

    Loonelywolf Advanced Member

    Newcomer
    1
    Jun 22, 2019
    Portugal
    Ok...thanks...
     
  16. lh411

    lh411 Advanced Member

    Newcomer
    1
    Sep 13, 2019
    China
    me too
     
  17. Instandhaltung

    Instandhaltung I feel the cosmos

    Member
    5
    Aug 4, 2016
    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?
     
    torekiki likes this.
  18. Fadi5555

    Fadi5555 GBAtemp Regular

    Member
    6
    Jan 3, 2018
    United States
    Please can you tell us how we can get that? I mean 720p in handheld mode.
     
  19. OverkillLabs

    OverkillLabs Member

    Newcomer
    2
    Jan 26, 2019
    Bulgaria
    Any way to completely disable Dynamic Resolution and just force it to always run at 720p?
     
    Esppiral and Fadi5555 like this.
  20. orangpelupa

    orangpelupa GBAtemp Regular

    Member
    5
    Aug 7, 2009
    Indonesia
    whoa thanks a ton!

    but from my understanding, so currently, we still cant do 1080p30? because the max res is locked to 720p max?
     
Quick Reply
Draft saved Draft deleted
Loading...