|
December 14, 2005 What's this hype about hardware acceleration? |
[Back] |
|
|
|
Sony Ericsson announced its first phone with Mobile Java 3D hardware acceleration support in October 2005. The new W900 Walkman phone has a hardware accelerated JSR184 (M3G) implementation. Now that the phone will start making its way into Christmas shopping bags all over Europe and the APAC region, we take a closer look at what hardware acceleration means for developers and consumers.
Hardware accelerated 3D is here to stay. This will open a whole new world of opportunities for developers and also an enhanced gaming experience for the consumer. But there will also be a whole bunch of new problems to solve. |
 |
First of all, in mobile it seems that we are on a similar path from software rendering to hardware accelerated 3D that we were with PCs. The first 3D hardware accelerators are probably at the time of first market introduction about as good as the best software 3D implementations, or software rendering might even be better than hardware. The next generation of hardware 3D will immensely outperform software rendering with the same screen size.
| Ultimately hardware accelerated 3D will cause more work for developers, but the quality perceived by the user will be noticeable. Mika Tammenkoski, VP of Technology at Digital Chocolate helps explain why by giving some examples: |
 |
- Hardware 3D offers filtering modes and mipmapping "for free" (bilinear, trilinear, etc) which makes the textures look smoother when they are close up and zoomed out. This means that the rendering quality is a lot better than with software rendering, but also that the games should be designed differently from software rendered ones.
- The biggest advantage hardware 3D brings is "filling power". In practice this means that in software implementations the main processor has to take care of rendering each pixel. With hardware 3D the graphics processor takes care of this which means that the main CPU can handle everything else simultaneously with the graphics processor, significantly speeding things up.
- Thanks to saved power for the CPU, we can push a lot more polygons. For example, when the GPU is rendering an object, the CPU can calculate the transformations and projections for the next object. This naturally means more detailed objects.
Additionally there are also purely technological issues to consider – again, these have been seen for PC in the past:
- New and different kinds of limitations: When using software rendering, the biggest limiting factors were basically processing power, the amount of memory, and the speed of the screen memory. When entering hardware 3D, we have to take into account the amount of video memory, the speed of "state switches", the speed of different filtering modes and so on. Programmers have to be a lot more experienced to be able to tackle these variables.
- In addition to new limitations, the logic is executed differently: As the graphics processor runs concurrently with the main CPU, it is beneficial to assign the GPU to render something while at the same time do some processing with the CPU. This again means that programmers have to be a lot more experienced.
- Usually the format of the data matters: The GPU presumes the data given in format X is optimal, but will accept format Y as well. To minimize texture changes, for example, the data should be organized so that polygons with the same texture are rendered one after another. At least in early JSR 184 implementations this has been taken into account in the data format (e.g. file format) which means that the exporter has an important role in the process.
Mika summarizes, "Hardware accelerated 3D will make the development process more complex, but the user experience will take a huge leap forward and drastically increase consumer perception of mobile games."
More information: