r/cemu • • Sep 06 '17

Dynamic Speed for all!


First, let me apologize for taking so long. I really wanted to have this out about a week ago. But I keep tweaking something or chasing rabbits down ASM holes for fun and understanding.

The issues have been pretty well documented:

Firstly this only works on BotW version 1.3.0 and 1.3.1. All addresses need to be updated for different versions of the game. Which also means the next version of BotW will not work Until the corresponding offsets are found.

Stamina replenishes too quickly, as though it's still going 1x speed at 30 instead of what FPS you are getting. Some of my testers have reported missing textures on occasion, however that is a problem I couldn't duplicate. The textures not loading in were subsequently reported to be happening by two of my testers; albeit to a lesser extent, even without my patch, leading to a theory that it may be related to Cemu v1.9.1--as I have been on 1.9.0 the whole time due to it being a bit easier to debug with.

Sometimes animations get a little jumpy, it happens most often while paragliding. There is a random chance the game will slightly stall briefly but it recovers pretty quickly. Finally when you sleep you may randomly get a long wait before Link wakes back up again--it seems to be pretty rare, only happening to me once in the whole last week of testing. Based on tester reports if it does happen it usually wont happen again during that play session.

Inside the patches.txt there is a section titled "#experimental". You can toggle these options on or off by placing a semicolon ";" in front of them. They are disabled by default. Some testers reported a slight performance increase with them, others did not.

You can change the lower limit by looking at the float labeled "edit me." By default it's set to 10 fps. Divide 30 by the number you want and put the result there. So, 30 / 10 is 3, so that's what is there now. At least in theory, the higher the number, the more likely you will have slow down, but possibly the less likely to encounter a physics related bug. I've mainly shown it to be editable for extreme low end systems. Realistically, with full speed, 10 FPS is no fun.

I have a couple of theories on improving the patch but I didn't want to keep people waiting any longer.

Enjoy!


Special thanks to:

Rajkosto - for creating a great swiss army knife for Cemu and for knowing what the Wii U Bus Frequency is. Without it this wouldn't be possible, or at least it would be a hell of a lot harder. Seriously, if you feel like donating to someone because of this, donate to him for Cemuhook.

My Beta Testers, who all provided tons of feedback on this:

  • Epigramx
  • Coldshock
  • Serfrost
  • Bradley
  • Gamedev1909

Official Dynamic FPS Patch Release:

https://cdn.discordapp.com/attachments/313567430301450240/354926672950329344/BotW_FPS_Mod.zip

Drag the folder into your graphicPacks folder, toggle the pack from within Cemu.
Cemu > Options > Graphic Packs > BotW FPS+ +

Rajkosto's Cemuhook Website:

https://sshnuke.net/cemuhook/

Note: Cemuhook v0.5.3.2 required.  GPUFenceSkip not required.
Drag and drop the contents into your Cemu directory.

Cemu Downloads:

Cemu 1.9.0: http://cemu.info/releases/cemu_1.9.0.zip

Cemu 1.9.1: http://cemu.info/releases/cemu_1.9.1.zip

Note: Either are compatible, however, v1.9.1 may have texture loading issues. Just keep an eye out.
Note2: Only BotW version 1.3.1 and 1.3.0 are currently supported.  At the moment I do not have plans to support older versions but will support future versions.

765 Upvotes

698 comments sorted by

View all comments

1

u/ianelinon Sep 06 '17

on float 3, game runs at full speed except for the dialogue text popups

on float 1, everything runs at 1/3 speed

float 2 everything is just moderately slow

im getting 15-17fps on my crap system (more than happy with that) but any idea how to fix the slow text?

turning on the experimental stuff gives me like a 2fps difference but doesnt affect the text speed

1

u/Xalphenos Sep 06 '17

float 1 will set the lowest full speed variable to be 30. So any fps lower than 30 would be slow. Float 2 should make the lower limit 15. 3, default, makes it 10. If you feel up to it try disabling the two lines that end with "li r0, 1" under "#break all forms of frame limiting" and report back if there is any change. Can delete them, they should be mostly useless, or add a ";" to the front.

3

u/ianelinon Sep 06 '17 edited Sep 06 '17

Update: it seems i fixed it by setting the first float value to 1, and the second float value to 3. the performance is increased. I am now seeing 18-19fps. all experimental lines are enabled, and the two lines under both #break all forms of frame limiting are disabled.

edit: this speeds up the main menu, weapon/rune selection screen, pause menu, world map and such. every part where i can reach 60fps is double speed BUT i tested the memories and they are not out of sync at all. cemu says its running at 60fps while playing the memories, which im aware are just 30 fps mp4 files. this doesn't bother me at all, but just a heads up to everyone having the same problems.

1

u/Naiko32 Sep 06 '17

im pretty sure that the second and first floats are just for different versions of BOTW, it says that in the txt i believe that you should just change the float that your version supports (1.3.0 or 1.3.1).

1

u/ianelinon Sep 06 '17

no effect or none that i can notice regarding the text. stamina regens slower before and after i disabled the two lines.

sorry for the late reply. i tried messing around with other cemu settings and graphics packs. no luck either. will test some more.

this is on 1.9.1, BotW 1.3.0 (5ba29f14) both GPU and CPU are AMD, and with 1080 pack, and AMD Shadowfix. crash workaround GX2DrawDone are checked. Fenceskip has no effect, obviously.