your smart phone, if you want to compare it to a PC, is probably equivalent to a top of the line pc 10-15 years ago at best. Phones are somewhat quick for what they are now, but they're far from what even a laptop is.
Emulation is its own little beast. It doesn't matter that your phone runs at 2.0 ghz .. this is somewhat a list of things happening.
Phone game -
Written in a language optimized for the os the phone is running
written with the hardware in the phone
runs natively in the operating environment
Emulation
It takes your operating system, and forces it to fake all input and output of hardware that isn't in the phone
Then it takes that emulated hardware (this is quite a bit of overhead.. especially when you have to emulate 3 different processors running at 3 different speeds and keep them all in sync.. its not like you can emulate them at full speed of the phone proc, you have to emulate them so they run at their original specs) while tying up your phones processor running its own OS, as well as tracking all inputs and outputs of another full computer inside the phone- and runs software written for that hardware . So every time the system, that was using 3 processor is waiting to do something.. in a real environment it just waits, in an emulated environment it has to tie up cpu of the host device (your phone) telling it to NOT do anything...
Then we take software, written in a language for that emulated software on top of that emulated hardware, and we run it in that software.. Fun right? Now how do we get that to display on hardware (phones gpu) that the emulated software and hardware couldn't know about because it didn't exist when the originals were created? We take a look at the emulated GPU in the system, look at all the calls it makes to draw on the screen, and translate it to something the host os (ios in your example) can understand
Then those translated graphics instructions are then sent to the GPU of the host device. Then the gpu has to be able to process all that information that is being thrown at it and get it put up on your display...
That sounds simple right.. lets take a look at your mobiles gpu and see how it stacks for shading, depth of field, polygon count and texture processing... and compare that to the original specs of the system. What if that original game hardware does things your mobile doesn't have in its ability set, then you get into workarounds, implemented in software.. which is steeling more and more processing power. And you're translating from an image that is what.. 320x240 give or take, and trying to upscale that UP to fill your screen, or you're dropping your screens resolution (if its set to operate at a native resolution, you have to do that in software too... )
The ram on your phone isn't directly addressable from the emulated hardware either, so they end up blocking off some of that ram, so your OS cannot mess with it, and only writing to those addresses.. so your game writes to the consoles memory, which then (remember that all of the virtual hardware is running in memory itself, as is your os, etc.. ) writes back to your phones memory... You're adding in latency in every single action you do. You're literally talking about 2 steps to perform (at an absolute bare minimum.. I'd wager quite a few more in most cases) every single step that console did.
Iphone 7 has what.. 2gb of ram, probably 1.5 after os runs.. then you add in emulated hardware, emulated software, etc.. and you take up a chunk of ram there... You end up with what.. 750mb to 1gb of ram for the phone to handle any background processes, etc. Does the iphone have dedicated memory for its gpu? If not.. well there goes even more ram.
Your iphone 7 runs at what.. 2.3ghz. You're needing to divide the processing of 3 processors, some busier than others into that.. so you steal a core for each (it doesn't work spreading 3 procs worth of work over 6 processors.. the emulated hardware wasn't designed for that type of smp.. so more hacks which cause unstability, etc would be needed to make it fully multicore enabled).
So you're using a 2gb 2.3ghz processor that MIGHT have an embedded gpu about the strength of the intel integrated gpu on a desktop system. Lets go find a system that matches those specs and attempt to run pcsx2 on it...
So the iphone is a 64 bit processor.. that will help - except the ps2 was a 128 bit processor .. so yeah, even running double speed for one processor.. you still have to run 2 instructions per cycle to keep up.. and remember that 2 steps to perform one thing above.. since you have to run 2 cycles to perform one processor instruction.. Now we're up to 4 cycles per...
In general, phones just aren't up to snuff to run emulators of much of anything that isn't pretty weak. The ps2 ran at just shy of 300 MHz, the original psone ran at 33. Almost 10x the capabilities in the ps2.. requires almost 10x the capabilities to emulate or more..
When pcsx2 first came out.. ok, .98 when I started using it, recommended a gtx9800 for graphics and a 3.0 ghz dual core proc to run the games that were compatible.. This wasn't running god of war, it was running final fantasy x... We still have many many many laptops out there that cannot run pcsx2 at full speed, and if you think your 2.3ghz phone with anemic ram, no dedicated gpu memory, that can run for 10 hours on a very anemic 2000mah battery is gonna keep up with a laptop in processing power.. well.. I'm going to say you're not a hardware guy. The iphones are mediocre spec'd phones with a very optimized os that keeps them feeling snappy. They're not the most powerful gpu on the market, not the most powerful cpu on the market (even for mobiles), they have less ram than some 200 dollar phones (amount of ram isn't always a consideration, speed is generally a bigger worry, but amount does come into play). They're just not up to the task.. Id say NO mobile phone or tablet is... excluding maybe some of the absolute top tier windows 10 tablets (and only for short bursts.. they will thermal throttle pretty quickly) for game system emulation.
Yes, they can do the ps1, the Nintendo (that was a 2 MHz proc), etc.. because the overhead on those is much less compared to some of the second gen processors. Game cube or n64 is about the strongest thing you'll see .. the n64 being a 100 MHz processor, game cube being a 400 MHz processor (I don't know If there are any GC emu's on phones either.. again, overhead)..
amd tr 1950x amd ryzen 5 2500u
asrock x399 taichi amd vega 8
XFX Radeon rx570 16gb ddr 4 2400 ram
32gb gskill ddr4-3200 1tb nvme ssd
Debian Bullseye 480gb sata ssd
Custom loop water cooled HP envy x360
nzxt 340 case