Discussion in 'Android Apps & Games' started by BillyJack, Apr 12, 2011.
I'd be very interested in hearing which Emulator is capable of that. It definitely isn't PCSX2.
I think it is actually, no issues with performance at all. Maybe your system isnt upto the job?
Running fine for me on both my systems, one Q9550 @ 3.2GHz/R6850 and i7 920 @4.4GHz/GTX 580
Stuck using MLAA on the HTPC as there doesnt seem to be a way to force MSAA with ATI cards with PCSX2.
It definitely is, but I only found it to be remotely usable if I used a whole lot of high-level emulation layers that make the speed inside the game inconsistent. My system is up to the job... or more to the point: if it isn't up to the job, then we'll have the ultimate proof how slow emulating a complex system like the PS2 is:
NVidia GTX 460, 4x3Ghz Athlon II X4, 4GB RAM
Well the games I've tried have worked very well, your X4 should be comparable to my Q9550 so I don't understand what what the problem is there.
I agree with many things except the comment about PS1 and phone emulation...FPSE runs super smooth with any game..in fact way faster than the real thing a N64 just needs more work but not bad.
Show me a desktop computer with a 500Mhz processor emulating Nintendo 64 well.
A lot of people on here who have no clue what emulation is or how demanding it is are bashing on the few who do because the truth isn't what they want to hear. Nvidia's Kal El processor is not going to be powerful enough to emulate PS2, let alone anything that is on the market right now.
The problem is that people want a straight answer... but there is none. There's no magic multiplier, but 10x is a pretty good estimate for many cases.
Emulation speed depends on a whole lot of things. For one, there's the actual cycle rate, since an emulator is basically nothing but a giant lookup table for the emulated system's opcodes. Here ARM CPUs are pretty good, since they are relatively fast at processing these simple instructions. Then there's the task of actually performing what the opcode was supposed to achieve: Here ARM CPUs fare a lot worse, since emulating any system that focuses on 3D will inevitably do a lot of floating point math, something that x86 and GPUs are good at... ARM: not so much. Of course, if the operations you're interpreting were supposed to run on a GPU you might have a chance to use the host environment's GPU as well. But especially with the PS2, that's not possible for two very powerful parts of equipment: the vector units. Oh and you may get a speedup from using a JIT (just in time compiler)... but then again it may slow things down as well, depending on the code of the game you're running. During the most recent round of the browser wars people were focusing almost exclusively on JITing everything, until they realized that doing that slows them down if the code isn't reused inside the program often enough... something that's pretty much impossible to predict. Then if you understand the guest OS well enough, you may be able to hook into the OS directly and perform certain functions directly on the host OS, which is a good deal faster than letting the emulated guest OS do it.
You see the problem here: there really is no straight answer.
I've tried lots of games on FPSE. While many of them work great, some of them still have speed issues on non-Tegra devices. I'm not sure how well the emulator works on a Tegra phone, but on my Samsung Fascinate (which has a speedy GPU and runs games extremely well), i've seen several games with speed dips (even with frameskip). Castlevania Symphony of the Night and the Spyro trilogy are two examples. They play well enough, but they're still not perfect. They're certainly not faster than the original by any means. I'm sure with time they'll play fine with more development, but for now, PC emulators are better. Even an old 1Ghz Pentium III can handle PS1 emulation without a hitch (and even most old GPU's can render the games at really high resolutions WITH texture filtering).
N64 emulation still needs a lot of work. It's much harder to get working than PS1, being a more complex and powerful system. I'm impressed Conker works at all, it's probably the most advanced game on the system (it works pretty slowly though, and i dunno if it goes ingame yet, i only tested it for a minute). The games that use the expansion pack don't seem to boot though. And even an older game like Banjo Kazooie still has some minor speed issues. The games also all exhibit a lot of graphical and sound glitches as well. We'll see what the future brings. N64 emulation on PC still isn't perfect either (though that's more to do with less work being made and nothing to do with PC's not being powerful enough).
The multiplier of 10-20 times in regards to emulation is extremely flawed and not at all an accurate statement. It depends more on the architecture involved than raw clock speed. It also depends on the specific system you're emulating and how similar it is to the system you're emulating it ON. In addition to all that, how advanced the emulator is matters as well. Sometimes, better compatibility and fixes can slow down emulation in favor of being better at playing the games.
There are some older N64 emulators such as Corn that can play some N64 games on extremely old and slow machines. Sub-500mhz machines that is. It depends on the game and the emulator you're talking about. The same game on an emulator like Project64 will require far more horsepower. The PSP now has the capability of playing a few N64 games decently on just a 333mhz processor (they share similar architecture, both using MIPS CPU's). A game like Mario 64 might only require an old Pentium III or so around 400mhz or so. But a game like Conker can require a far faster PC, well over 1ghz to get it working full speed. No game stresses the system equally.
@Grans: N64oid's new engine on my SGSII runs Banjo/Mario Kart/Mario 64, Zelda OoT virtually perfectly smoothly - even Goldeneye is near perfect (only place I've found glitches is in sound during cutscenes). Just need more ROMs to be made compatible.
I actually haven't tried N64oid on my I/O Tab, be interested to see how well the Tegra II handles it (I expect less than from the SGSII).
On the SGSII FPSe runs a solid 60fps in actual gameplay for everything I've tried in it (framerate drops a little during cutscenes at times).
At 1.6 or 1.5 my Captivate eats any FPSE game...sticks to 66fps (vsync) with all of them. So yes it is a good OC but most users are able to do about 1.4Ghz with this kernel. So again, I disagree on FPSE...nothing it does can make it go slow with my phone.
N64 needs work for the hiccups but it flies when is not going through one of its epileptic attacks!
Also remember that unless an OPEN GL plug in is made, most of the EMU is running on CPU power...the GPU plays a secondary role unfortunately.
I have hopes for a Dreamcast emu though
I'm running a Samsung Galaxy S Fascinate (SGS model 1 i guess it is). I'm well aware that these emulators run better on faster hardware. My processor is older, single core, and clocked at a lower rate. The SGSII uses a higher clocked dual core CPU, so it's obviously going to be speedier. I'm comparing my phone's speed to a similarly clocked PC CPU and using the comparison to explain how the architecture differs. My point was directed towards the guy who said PS1 emulation wouldn't work on his dual core AMD cpu. It does, and works perfectly on far slower PC's than that.
Try out Conker's Bad Fur Day on your SGSII, or your tablet. That will give you a good indication of how much potential your devices have at this stage. Conker is notable by most people for being the most advanced N64 game available. It takes powerful hardware to emulate as well. It's a good benchmark for you to try. The games you're referring to are not all that stressful. I get constant full speed with Mario 64 and pretty much 98% full speed with Banjo Kazooie. The other games you mentioned aren't very strenuous either and are rather early gen (or less stressful) N64 games. I'd be interested to see how Banjo Tooie plays, it's a stressful game (doesn't boot past the title screen).
I'm only judging by stock clock speeds, no overclocking. I could probably overclock my Fascinate and make it play games very fast myself. But for the sake of comparing them to PC's around 2000, i'm using around 1ghz tests.
I'll wait and see if someone can make an opengl plugin to better use the GPU's. Could help a lot indeed. Dreamcast emulation might work, slowly at least. Someone ported nulldc to the PSP and got it working really slowly (but working nonetheless).
I have a beta of nullDC for android that was showing promise but it was dropped :-(
FPSE dev mentioned an openGL plug in but it seems to be harder than it looks.
You guys probably wanted to check on these links just to make sure,future android OS in this case tablets will surely easily run anykind of emulation,check it out,,,,
Video: MWC 2011 – NVIDIA Kal-El Runs PS3 Game With 600 Soldiers Smoothly | MP4 Nation Blog
NVIDIA Tegra 3, equipped with 1.5GHz quad-core madness, teased by a familiar slide -- Engadget
NVIDIA's quad-core Kal-El used to demo next-gen mobile graphics, blow minds (video) -- Engadget
People can be stupid. Like the ones who paid $999(USD) for the 'I'm Rich' app for the iPhone, which did absolutely nothing, except show an icon to prove it was installed.
Very true I have the nexus s and I use FPse psx emu and play legend of dragoon, ff7, silent hill on it and they work perfect also use gbc emu and sneak emu all great but the psx emu blows my mind looks so good like having a PSP. Phone and small PC all in one with the nexus s and flash is nice on it using nexus right now for this.
phones are coming out now with 2gb of RAM, and well over 1.5-1.7Ghz quad core processors, still think its impossible? I would say by Q3 this year phones will easily hit that 10-20x mark
PS2 games can be easily emulated on PCs with dual core processors so i think it is very likely that an android app might be able to emulate PS2 games but what's the point? a 4 gig game rom won't be any good in terms of memory.
A key is the commonality of instruction sets and how they compile to another platform at machine level. I have a relatively old Q8200 and fast graphics card (still plays all current games great), but even that is too slow for a lot of PS2 games. This is due to the instruction set level of efficiency when translated to another platform. The less efficient, the more clock cycles are needed. A functional analogy is a flat straight line (efficient) verses a long curved and hilly road (not efficient). The less efficient the translation/compile, the less efficient the road.
Playable PS2 gaming on a passively cooled device is a few generations of chips away.
I find it funny how people come here and say that PS2 emulation is possible just like that:
A common misconception regarding PCSX2 is that a processor with a relatively high clock speed, such as a Pentium 4 or Athlon XP (the former with clock speeds as high as 3.8 GHz), should easily be able to emulate PS2 games at full speed. The PS2 has several processing units including a MIPS R5900 chip, MIPS R3000A chip, two custom vector units, and graphics chip (Graphics Synthesizer). With the exception of the MIPS R5900 (clocked at 294.912 MHz) and the MIPS R3000A (clocked at 36.864 MHz, selectable to 33.8688 MHz for PlayStation (1) emulation), all other chips run at the bus speed of 147 MHz. There are several reasons which make emulation of the PS2 on a PC extremely difficult. Architectural differences between an x86-based PC and the PS2 are substantial; emulating multiple chips running in parallel on a single-core processor is quite complex. Taking advantage of dual core processors on PCs is even harder due to the tight synchronization between the PS2 chips
Basically, an emulator usually ignores the graphics chip on a PC, and runs everything on a single core. Furthermore, a single core 32bit chip on a PC can run more instructions in parallel than a single core ARM chip. Basically, to have the emulation capabilities of a single core PC, you need to have a dual core phone. Then you have to consider than a single core PC can't even emulate PS2 properly.
If we talk about minimum requirements emulation is possible from 5x-6x faster cpu, so if psx2 was just 300mhz at current modern phones with 2ghz it should be possible in the future
Its not as simple as that. A faster CPU isn't the only requirement, its the number of instruction threads as well.
*Note this is an OVERSIMPLIFICATION. There are more factors at play, and there are more instruction threads active in an emulation that those I will be using as an example.
A PS2 emulator on your PC needs a 3.1Ghz processor or equivalent to run most basic PS2 games, then a graphics chip to play the 3D games. Its not simply clockspeed x10 and you can emulate already.
Basically, speaking, not even the quad core 1.5Ghz proc on the Galaxy S3 is capable of PS2 emulation. Porting a PS2 game to Android is a whole different story as compared to emulating a platform. In the most basic sense, to emulate a platform, your hardware requirements would be AT LEAST 10x better than the platform you are emulating. And that means more than just clockspeed. As I already mentioned, to even have the same processing power as a single core x86 processor, you need a dual core ARM with a higher clock rate.
The 10x rule is indeed an old one, and was of course an extremely rough approximation. It was still more or less adequate to give a good idea regarding how much horsepower a simpler console (think 16bit-era and previous) would take to be emulated.
Still, emulation requirements not only depend on how the original machine was built, but also on how the emulator is programmed. For instance, you can probably play any SNES game on a 200Mhz pentium if you use, say, ZSNES, but if you want full low level emulation of every single item in the console and use BSNES you might need a 3Ghz CPU for some games. Likewise, for Nintendo64 emulation the hardware requirements of Project64 and CORN were extremely dissimilar, and so was game compatibility.
As for PS2 emulation, the currently most used emulator is PCSX2. Go check out its forums and you will see some games need a Core i7 to work, and some just don't work at all. If I recall correctly, with the exception of a few games like Final Fantasy X (one of the least demanding ones), anything below 2Ghz CPU will pretty much guarantee a poor experience unless you enable all the speed hacks and use native resolution without filtering. Also, PCSX2 can only use two CPU cores effectively due to how it was done (can't remember the details, but they are in their website or the forums), or 3 using a special setting.
Given that even the upcoming Cortex A15's are said to only have about the computational power of a desktop Core 2 Duo, I'd say we are at least two ARM generations away of being able to emulate the PS2. If someone is even willing to port PCSX2, that is, which I doubt.
Using a open source ARM hypervisor to create a emulator framework with allot less overhead than most common designs today and is more flexibility for adding new console types, CPU types, GPU types and other emulated HW.
A modular design with a virtualization engine (like KVM Arm, QEMU or Codezero Embedded Hypervisor) to handle the different HW, same core framework on all HW platforms.
Each emulated HW packaged as a plugin and then add the emulated hardware in to a saved configuration and load the one matching the input data.
This type of framework would be extendable with new plugins as new HW in phones come out on the market.
The GPU is the problem though even if using a hypervisor, even if one implement a scaling function for the device GPU capabilities much like Chainfire 3D that scale automatically it is still ALOT of work.
ARM Cortex A15 will help with it's added support for hardware virtualization but it's still possible on current SOC like A9 but with more overhead. The benefit with using a existing virtualization hypervisor that can run on ARM SOC is most of the hard work of handling CPU scaling for multiple cores and the built in load balancing is built in to the hypervisor, same go for the GPU if added to the hypervisor the right way resulting in a emulator with minimal overhad.
I have played through ico and resident evil code veronica and silent hill 4 the room.
Mybpc is only an amd 3800+ 2.0 ghz with 2 Gb ram and an ati radeon x1650 they ran fine.
I got excited for the title, can't wait for a near perfect emulator though.