Flycast iOS Performance Issues

This issue was mentioned in a post last year but it appears to remain the same. Jet082 was working on it but realise he has a lot to be getting on with.

Running RA1.8.8, latest Flycast core on a 2020 iPad Pro 12.9 iOS 13.4.1 the bottleneck is graphics only, performance hitting 3-4 FPS, however sound is unaffected and runs OK.

Does anyone have any news on a workaround which will give us a workable framerate and sound? I’d be willing to set a bounty to help the devs if it’s feasible.

There is no easy way to dynamically generate code on iOS and Apple explicitly prohibits it. Thus I believe the iOS flycast port is using the interpreter, which is very slow even on desktop machines.

Apple is to blame here.

To be blunt, yes, sell that apple device and buy anything else (literally), apple’s policy is getting worse and worse : it was already a big problem for developpers with all the outdated stuff (still stuck with opengl 4.1 while opengl 4.2 has been released 10 years ago), but with apple saying that they’ll stop supporting opengl, won’t add vulkan support, and that devs should just use their proprietary gfx api metal instead, it seriously smell shit for anyone wanting to play on apple devices.

OatmealDome is using libMoltenVK.dylib for his great Dolphin port, which runs great on iOS devices even with heavy upscaling…

I think we could add Vulkan support on recent iOS thanks to this…

@Weedy_Weed_Smoker libMoltenVK doesn’t have 100% vulkan capability, and it’s only 1.0, so at best it’s a workaround that might or might not work, the safer option is to stop buying apple devices if you are interested in gaming.

It really is a major shame as the device is brilliantly suited due it’s sheer grunt and near 4:3 aspect ratio.

What is even more gauling is that the Dolphin fork is running beautifully. When upscaled 3 or x4 games look PS4 quality. Seeing similar with DC emulation would be amazing.

Does anyone have any thoughts on whether setting a bounty on implementing libMoltenVK would be worthwhile?

1 Like

Yeah… +1 for that bounty!

What would be a reasonable figure to set?

The speed issue here appears to be with the dynarec, i think dolphin run well because it’s not using a dynarec (JIT probably ?)

So a ground up JIT implemented rebuild is not going to be that tempting for many devs!

I think @jet082 was on the right track before his laptop crash though…

The major issues might be with the JIT, and on recent devices, mupen64plus_next and flycast are the ones needing improvement, things he was working on actively…

He didn’t seem to want to accept money, but I was willing to get some his way!

For Dolphin core, he was working on it before OatmealDome put out his standalone version…

And I see that OatmealDome recently forked Citra for Android, which is great news for a Citra Core alternative on iOS!

1 Like

Yes, especially if it’s for one specific brand of device that might not be supported anymore in a few years because of the additional gfx api reasons.

And that’s why RetroArch is lagging behind on 64-bit iOS devices… I still have hope though!

More like apple lagging behind every other brand

Come on, the iPad has the magic keyboard now…Steve Jobs would never have let that happen!

Yeah… Tim Cook is a d*ck… Steve Jobs had more insight on the technical side of things, and was way more aware of how jailbreaking was helping the iOS platform strive! It didn’t bother him to let technical people jailbreak their devices, as opposed to now…

@X68000 Don’t get me wrong, the Magic Keyboard/Trackpad, and external Bluetooth/cabled mouse support is great on Mini vMac!

Well, apple devices have their pros, especially if you are used to them, the main issue here is that their policy is alienating pretty much every developper, because developpers want portability, and apple is pushing things in the opposite way…

1 Like

Well, MoltenVK is promising for that matter… And PPSSPP and DolphiniOS implementing proper JIT for iOS 64-bit is proof that it can be done if people are interested in the platform!

Well I’m interested, but my dev skills ended on the gp32 and they were sub par even then!

I’m going to set a bounty and let’s see of anyone relishes the challenge.

What do you see as a reasonable amount which may interest someone?

I would gladly send 200 bucks myself for that kind of support… The bounty’s goals have to be met though, we might have to think this through before posting a bounty with unclear instructions!