ROM Hack RELEASE [MOD] Xenoblade Chronicles: Definitive Edition - 60fps

redforge

Member
OP
Newcomer
Joined
Jun 21, 2019
Messages
13
Trophies
0
Age
32
XP
131
Country
United States
Pros
Run the entire game at a silky-smooth 60fps

Cons
For the game to actually hit this framerate, something have to give. In this case, resolution. The included graphics ini sets the docked resolution to 640x504.(Crunchy!) It also changes anti-aliasing and some other settings to recover a bit of detail, but it still looks noticeably worse that the default 720p. UI retains full resolution.

Here's a comparison, to help judge the difference in quality (Of course, the framerate improvement is not visible in static images)
Docked mode, 30fps, default settings:
XCDE_RTX_on.jpg
Docked mode, 60fps, included settings:
XCDE_RTX_off.jpg

I've set up the graphics config to look as good as possible while running consistently keeping up a constant 60fps in docked and handheld modes. The game theoretically has a dynamic resolution, but I haven't been able to trigger it in my testing, and it targets 30fps anyways, so the loss in quality is sadly static.

If the game fails to hit 60 at any point, it will drop to 30. Game will stay at full speed, but UI will run at half speed. Since the game uses frameskip rather than deltatime, a fully dynamic framerate isn't possible (at least with this method)

Installation

Atmosphere is required. (Other CFWs might work if you rename stuff, haven't tested)
Overclock (SYS-CLK) is highly recommended

Extract XenobladeDE-60fps.zip to the root of your switch's SD card.
The atmosphere folder in the zip should be merged with the one on the SD card. Make sure you have the included files in exactly the right place.

Included files (Delete these to uninstall)
/atmosphere/contents/0100FF500E34A000/romfs/monolib/shader/lin_nx.ini - Graphics config
/atmosphere/exefs_patches/xcde_60fps/1EC9082CB52ECAF561EE45BC00FF318E9912232B.ips - Patch to unlock framerate

Make sure you have the 1.1.1 day-one update. Future updates might break something.

Recommended Overclock (WILL NOT STAY AT 60FPS WITHOUT THIS)
TL;DR - This needs as much performance as it can get.
docked_cpu=1785
docked_gpu=921
handheld_cpu=1224
handheld_gpu=537

Update
Upd1: Updated the zip to use Massagrator's updated 60fps patch. Make sure to delete the old patch if updating.

Credit to theboy181, Kirby567fan and M&M for creating the original Yuzu mod. Thanks to Massagrator for the original graphics mod for XC2.
 

Attachments

  • XenobladeDE-60fps-upd1.zip
    3.6 KB · Views: 1,198
Last edited by redforge,

masagrator

The patches guy
Member
Joined
Oct 14, 2018
Messages
4,938
Trophies
2
XP
8,486
Country
Poland
Edit: package above has updated patch.


You have outdated patch. :P
This is current patch with fix for UI - it's half speed only when dropping to 30 FPS (found by Kirby567Fan, I have ported it to 1.1.1).

UI Fix for yuzu uses something that doesn't work in Switch hardware, that's why you got wrong UI speed on Switch.

For some reason game has double buffer in hardware, but it doesn't exist in yuzu.
We were trying to find double buffer and delete it before releasing for Switch, but it's harder than we have expected.
Something similar to disabling double buffer you can get by instant return
Code:
grlib::CGLibManager::swap()
or
ml::DevGraph::renderSync()
or by nopping function call in
Code:
ml::DevGraphNx::renderSyncSys()
, but then you have render glitches in 60 FPS vicinity and framerate is less stable if you are further from 60 and 30 FPS. And you are getting slightly different glitches in each case. :P

That's why we were reluctant to release patch for hardware atm. But well - the damage is done.
 

Attachments

  • XenobladeCDE-60FPS-1.1.1-UIFix.zip
    439 bytes · Views: 537
Last edited by masagrator,

redforge

Member
OP
Newcomer
Joined
Jun 21, 2019
Messages
13
Trophies
0
Age
32
XP
131
Country
United States
You have outdated patch. :P
This is current patch with fix for UI - it's half speed only when dropping to 30 FPS (found by Kirby567Fan, I have ported it to 1.1.1).

UI Fix for yuzu uses something that doesn't work in Switch hardware, that's why you got wrong UI speed on Switch.

For some reason game has double buffer in hardware, but it doesn't exist in yuzu.
We were trying to find double buffer and delete it before releasing for Switch, but it's harder than we have expected.
Something similar to disabling double buffer you can get by instant return
Code:
grlib::CGLibManager::swap()
or
ml::DevGraph::renderSync()
or by nopping function call in
Code:
ml::DevGraphNx::renderSyncSys()
, but then you have render glitches in 60 FPS vicinity and framerate is less stable if you are further from 60 and 30 FPS. And you are getting slightly different glitches in each case. :P

That's why we were reluctant to release patch for hardware atm. But well - the damage is done.

Aw shit, if you want me to remove this until you've got a proper patch ready I will. I threw this together as a proof-of-concept, under the impression something more serious wouldn't be made for actual hardware because of the performance issues.

If not, I'll leave this up and make a new zip with your updated patch.
Thank you for all your work in the switch modding scene, last thing I want to do is mess you up.
 
Last edited by redforge,

masagrator

The patches guy
Member
Joined
Oct 14, 2018
Messages
4,938
Trophies
2
XP
8,486
Country
Poland
Aw shit, if you want me to remove this until you've got a proper patch ready I will. I threw this together as a proof-of-concept, under the impression something more serious wouldn't be made for actual hardware because of the performance issues.

If not, I'll leave this up and make a new zip with your updated patch.
Thank you for all your work in the switch modding scene, last thing I want to do is mess you up.
Just update patch. We don't know when we will find real double buffer, so it can stay until we find it.
 
  • Like
Reactions: redforge

sluggedup226

Active Member
Newcomer
Joined
Jan 6, 2013
Messages
40
Trophies
0
Age
34
XP
293
Country
United States
Edit: package above has updated patch.


You have outdated patch. :P
This is current patch with fix for UI - it's half speed only when dropping to 30 FPS (found by Kirby567Fan, I have ported it to 1.1.1).

UI Fix for yuzu uses something that doesn't work in Switch hardware, that's why you got wrong UI speed on Switch.

For some reason game has double buffer in hardware, but it doesn't exist in yuzu.
We were trying to find double buffer and delete it before releasing for Switch, but it's harder than we have expected.
Something similar to disabling double buffer you can get by instant return
Code:
grlib::CGLibManager::swap()
or
ml::DevGraph::renderSync()
or by nopping function call in
Code:
ml::DevGraphNx::renderSyncSys()
, but then you have render glitches in 60 FPS vicinity and framerate is less stable if you are further from 60 and 30 FPS. And you are getting slightly different glitches in each case. :P

That's why we were reluctant to release patch for hardware atm. But well - the damage is done.
Could you please make a pchtxt file to use with the yuzu emulator?
 

TheTrueDream42

Well-Known Member
Member
Joined
Jun 26, 2015
Messages
174
Trophies
0
Age
25
XP
813
Country
United States
I'm guessing based on the overclock settings, that the mod shares its settings between both dock and handheld. As someone who only plays in handheld mode, both with or without the charger, can a buffed up version of the mod be made just for handheld mode be made please? Or is this the best we'll get for handheld anyway?
 

PalomPorom

Well-Known Member
Member
Joined
Jul 11, 2018
Messages
103
Trophies
0
Age
33
XP
535
Country
United States
This is cool but it just makes everything blurry for me. What did i do wrong. Does it matter if you have the latest update installed?

Sent from my toaster running Rebug
 
  • Like
Reactions: rimoJO

masagrator

The patches guy
Member
Joined
Oct 14, 2018
Messages
4,938
Trophies
2
XP
8,486
Country
Poland
This is cool but it just makes everything blurry for me. What did i do wrong. Does it matter if you have the latest update installed?

Sent from my toaster running Rebug
Make sure you have the 1.1.1 day-one update.
Hard to say...
yea i did and according to the date of the file, it's outdated as opposed the date of your updated 1.1.1 fix file
... Read again. My updated file is dedicated to HARDWARE, because currently available for YUZU works as expected. So no - mod for yuzu is not outdated.
 
  • Like
Reactions: PalomPorom

Gausak

Member
Newcomer
Joined
Jan 27, 2018
Messages
16
Trophies
0
Age
35
XP
482
Country
Spain
Nice job! It is a trick to lose so much resolution on the way ... But still, congratulations!

I will keep waiting to see if someone can increase the resolution somewhat without losing those wonderful 60FPS
 

redforge

Member
OP
Newcomer
Joined
Jun 21, 2019
Messages
13
Trophies
0
Age
32
XP
131
Country
United States
Nice job! It is a trick to lose so much resolution on the way ... But still, congratulations!

I will keep waiting to see if someone can increase the resolution somewhat without losing those wonderful 60FPS

If massagrator figures out what hes trying to do, it will be possible to increase graphics settings (i.e. resolution) with the 60fps patch without causing problems. However, this would not give you 60fps more often, just make the drops to 30 not effect the UI.
It would be possible to up the res quite a bit while keeping 60fps in less demanding areas like tephra cave, but this is sadly the highest resolution can go while maintaining 60fps on bionis leg. The potential fix wouldn't change this.
The ideal scenario would be to implement true dynamic frame rate, rather than relying on the game's built-in frameskip. This would let the game drop to, say, 40-50fps in more demanding areas rather than going straight to 30. This would be great, but implementing it would most likely take an insane amount of work and I doubt it will happen.

It would also be possible to increase the resolution a tad with the current method by disabling effects, but from my testing the slight increase in res would not be worth the massive drop in visual quality. Feel free to mess around with lib_nx.ini, and share any configs you find to your liking.

I'm guessing based on the overclock settings, that the mod shares its settings between both dock and handheld. As someone who only plays in handheld mode, both with or without the charger, can a buffed up version of the mod be made just for handheld mode be made please? Or is this the best we'll get for handheld anyway?

Unsure what you are asking. The graphics settings are shared between docked and handheld mode. I've removed the blur and sharpening from handheld mode, so the only differences between docked and handheld in this config are: Dynamic reflections are docked-only, docked mode has slightly better lighting, and handheld runs at a further reduced resolution. Handheld should actually maintain 60fps because of the resolution change.
 
  • Like
Reactions: sorabora

Solotato

Member
Newcomer
Joined
Jul 25, 2017
Messages
17
Trophies
0
Age
19
XP
92
Country
United States
Holy- this made such a noticeable difference it's incredible. Love this mod, thank you!!!!!!!!!!!!!!!!! This is definitely my fav 60fps patch so far <3333333333
 

Niko_of_Death

Well-Known Member
Member
Joined
Aug 10, 2016
Messages
141
Trophies
0
Age
27
XP
1,068
Country
United States
Would it be possible to make a version of this that prevents the gamespeed from dropping when framerate drops to 20fps? I play with static 720p, so lots of scenes cause framerate drops, which I'm fine with, but the way the game handles them is jarring.
 

masagrator

The patches guy
Member
Joined
Oct 14, 2018
Messages
4,938
Trophies
2
XP
8,486
Country
Poland
Would it be possible to make a version of this that prevents the gamespeed from dropping when framerate drops to 20fps? I play with static 720p, so lots of scenes cause framerate drops, which I'm fine with, but the way the game handles them is jarring.
Gamespeed is not dropping anywhere. Only what is tied to framerate is HUD and only this slowdowns.
 
General chit-chat
Help Users
    AncientBoi @ AncientBoi: Chicharones, ceviche, pito, cane asada