DrEmulator
DrEmulator

Reputation: 61

Checking speed of Android apps without needing physical devices?

I'm writing a game for Android. I'd like to target as many devices as possible. I'm aware that Droid owners buy about 50% of the apps and the rest are a mixture of G1 and HTC devices.

So far, I've been testing my app in the emulator set to model the Droid phone (where I get about 40 fps) as well as on an actual Droid phone (where I get about 60 fps).

I'd like to know how fast my app runs on slower devices such as the G1. Is there any way I can do this besides getting a G1 myself or asking people with G1s to test it for me?

For example, is there any way I can use the emulator to get a rough idea how well it will run on the G1?

Upvotes: 3

Views: 412

Answers (2)

Plumenator
Plumenator

Reputation: 1682

Have you looked at Device Anywhere?

Upvotes: 0

CommonsWare
CommonsWare

Reputation: 1006614

Is there any way I can do this besides getting a G1 myself or asking people with G1s to test it for me?

Not today.

There are too many variables for simple "it's 50% slower" answers. The DROID has floating-point hardware (FPU), and the G1 does not, for example. If you're doing lots of floating-point calculations, the disparity between the DROID and the G1 will be greater than the relative CPU speeds would indicate.

Similarly, access speeds for on-board flash, graphics hardware acceleration, and the like may all differ in ways that aren't tied to CPU speed. And, different apps will use those capabilities differently -- your app might run all from RAM while others are constantly loading from on-board flash (or, worse, from the SD card, which speeds vary even more widely).

The emulator bears little resemblance to real hardware from a performance standpoint. For example, there is no graphics hardware acceleration at all. Using the emulator to test whether your game works is one thing; using it to benchmark performance seems pointless to me. Heck, I can't get the emulator to play back video reliably on a quad-core PC.

Now, given a tool that can measure how much your app uses certain capabilities (e.g., certain OpenGL operations), and a database of how different devices perform when doing those things, you might be able to cook up a reasonably accurate answer. Alas, none of that exists, AFAIK. Perhaps someday it will exist, courtesy of a crowdsourced database or something.

In the interim, you are going to wind up having to do what game developers do on other platforms where the hardware varies (e.g., Windows) -- test on a couple of actual configurations and draw up some "minimum" and "recommended" hardware levels.

Upvotes: 1

Related Questions