Game Development Reference
In-Depth Information
Figure 2-17. Mixed renderer
Figure 2-17 shows that the native engine is in charge of drawing the image buffer into the
hardware. Depending on how OpenGL ES is initialized, the engine may have to tell the
Android activity it is time to draw. Usually the Android activity will take care of initializing the
OpenGL context and obtaining a display surface; in this case, however, the engine must tell
Android it is time to draw (swap buffers) whenever an image frame is rendered. This renderer
is used in Doom for Android (see Chapter 5).
Pure Hardware
A pure hardware renderer is the fastest and most powerful of them all, but requires a device
with a GPU. It can be painful to program for Android, where there is a lot of hardware
fragmentation. Many people have made a lot of fuss about version fragmentation, but the
real problem (for game developers at least) resides in all the different types of GPUs in
today's Android devices. I can attest to the pain of trying to deal with the big three GPU
OEMs:
PowerVR: From experience, I can tell you this is a hell of a GPU. It's the
best and most powerful one out there (the iPhone uses this type of GPU;
there's no wonder why). Devices that use this GPU are the Motorola
Droid and Samsung Galaxy S family.
Qualcomm: Commonly used by HTC smartphones. This is probably
the worst GPU I've dealt with. It really is substandard compared with
PowerVR. The drivers are buggy and it's very limited when there are a lot
of polygons and textures in your game.
Tegra: The new kid in the block by NVIDIA. Certainly powerful and fast.
 
Search WWH ::




Custom Search