Is there an easy way to identify what device an app is running on? Obviously, you can check for scaling to identify an iPhone 4, check for the IDIOM to identify an iPad, but how can you differentiate between everything up to and including the 3GS?
Basically, I want to include a feature in my games that will automatically enable/disable non-essential effects on older, slower devices, rather than suffer from dogging performance. I was thinking if I could identify the device generation, then I could drop out some elements/options for 1st Gen devices. I had considered trying to capture/calculate the fps, and if it is below a certain point, disable some features. (i.e. "fluff" particle systems, extra animation, etc)
Anyone attempted such a feat? What is the best way to accomplish this checking without wasting too many vital CPU cycles?
(As an aside, I know cocos has the on-screen fps. Can we tap into that value from the code itself without modifying the base cocos code?)