Dolphin, the GameCube and Wii emulator - Forums

Full Version: Is there ANY way to get wind waker to run at a higher framerate without speeding it?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Eagerly been waiting years for a 60fps hack, but I can understand the complexity of pulling this off. I have a VR headset that requires games to run at 45fps in order to be smooth, and it is so annoying to have Wind Waker so close to that, but yet not being able to run it at 45fps (150% speed) without it speeding up.. I tried the 150% speed, and it is so incredibly smooth in Dolphin VR.. I also tried 75% speed which is half of 45fps, but then the game runs too slow again.. I am really tempted to join forces on creating a fps hack, but I don't know where to start. How do one create such a hack? Where do you start when creating a hack-code? I'd very much like to know!!
If you're just looking for VR, are you fine with repeating the same frame? So you might get 60 fps (or more), but two frames are based on the same emulation state. But for VR, you can apply your transformation matrix per frame. So you'll get 60 fps for your head movement, but only 30 fps for the ingame data. But the effort to implement this in dolphin is quite a lot.

Edit: AFAIK 45 fps is by far too less for VR. Also 60 fps isn't enough. Are you targeting for 90 fps? So just repeat every frame for three times Wink
(09-21-2017, 06:51 PM)degasus Wrote: [ -> ]If you're just looking for VR, are you fine with repeating the same frame? So you might get 60 fps (or more), but two frames are based on the same emulation state. But for VR, you can apply your transformation matrix per frame. So you'll get 60 fps for your head movement, but only 30 fps for the ingame data. But the effort to implement this in dolphin is quite a lot.

Yeah. Problem here is that Wind Waker is locked to 30fps, and in VR games needs to have 90fps because of the 90hz displays.. Oculus developed a technology called asynchronous spacewarp. It halves the frames to 45 and uses synthetic frames to acheive fake 90fps in the headset.. So when I ran Wind Waker at 150% speed (45fps), I had PERFECT framerate in the headset, but unfortunately with added speed increase.. But as it is widely known, Wind Waker is hard locked to 30fps, am I right? :/

I'd be happy to start making framerate hack. But how and where do I start?
(09-21-2017, 06:51 PM)degasus Wrote: [ -> ]Edit: AFAIK 45 fps is by far too less for VR. Also 60 fps isn't enough. Are you targeting for 90 fps? So just repeat every frame for three times Wink

Well not for Oculus Rift. Because of the ASW it runs PERFECTLY at 45fps because it creates synthetic frame to acheive 90fps.. It's quite like black magic actually Smile
But how do I repeat every frames? Please explain Smile
Rendering at 45 fps will be a lot harder than rendering at 90 fps. So there is no need to use this black magic.
For repeating: You need to implement some kind of "capture" and "replay" code. I'd vote for the videocommon pipeline obejcts first (PR #6042), and more cleanups. We want to redesign our backend API without any additional emulation feedback from the backends. So we can create a threaded queue for this API, and you can repeat all calls. But as always, buffer invalidation will be terrible...

tl;dr; Likely 10k lines of code...
(09-21-2017, 07:51 PM)degasus Wrote: [ -> ]Rendering at 45 fps will be a lot harder than rendering at 90 fps. So there is no need to use this black magic.
For repeating: You need to implement some kind of "capture" and "replay" code. I'd vote for the videocommon pipeline obejcts first (PR #6042), and more cleanups. We want to redesign our backend API without any additional emulation feedback from the backends. So we can create a threaded queue for this API, and you can repeat all calls. But as always, buffer invalidation will be terrible...

tl;dr; Likely 10k lines of code...

Ahh.. Well.. I have no idea how to do that unfortunately :/ I'm no dev, but I wish I was