Let's see if there's some way to improve performance in freedo, i have a low end notebook and it runs at 45-50 fps in 2d games. NFS is the slowest game that i've tested, about 22 fps ingame. Maybe some profiling can show us the slowest parts of code, i.e. improving the 3x3 matrix/vector product can give about 2-3 extra fps in nfs.
I don't think you will be able to run 3D games at full speed on low-end devices unless of course you can rewrite the emu with an HLE approach.
Plus NFS was ported to PS1 so i don't think that's worth the time.
Maybe we can request the Retroarch team to port 3doh to their engine ?
Retroarch is the best multi-emulator out there and i can already play Sega 32X games on my android tablet thanks to them !
Apparently what they do is that they take the code source of one emulator and then they add it
to their program as a core. Your emulator must be the perfect candidate for them since it uses SDL/OpenGL.