One of the demos here at Adobe Max was a 3D racing game, running in Flash with 3D acceleration. It was enabled by a new set of GPU-accelerated APIs codenamed Molehill. Adobe CTO Kevin Lynch remarked that with GPU-accelerated 3D, Flash games could come closer to console games in the experience they offer. Lynch also demonstrated using a game controller with a Flash game.
There are no precise dates for availability, but Adobe expects to offer a public beta in the first half of 2011. The APIs will be available in a future version of the Flash Player. Under the covers, the 3D APIs will user DirectX 9 on Windows and OpenGL 1.3 on MacOS and Linux. If no supported 3D API is found on a particular platform, Flash will fall back to software rendering.
One interesting aspect is that Molehill will also work on mobile devices, where it will use OpenGL ES 2.0. Apparently GPUs will be common on mobile devices because they enable longer battery life than relying on the CPU for all processing. I heard similar remarks at the NVIDIA GPU conference last month.
This will be a significant development, especially when put in the context of Flash appearing in the living room, built into a TV or on Google TV.
This is excellent news but it begs the question of why it wasn’t done years ago?
A lot of what Flash does in 2D can benefit from being done with OpenGL on the GPU, never mind the options adding a 3D API opens up. However hardware accelerated OpenGL has been commonly available as standard on the desktop PC for at least 10 years now, so why the delay?
Granted its good timing with mobile devices now starting to come as standard with GPU acceleration, it means the same desktop 3D Flash games could run on your phone, opening up true cross-platform gaming. But it makes me wonder what Adobe has been doing all these years with Flash as many of us have been crying for some major optimisation in flash for a long long time. If it had supported GPU acceleration a long time ago, perhaps it wouldn’t have such a reputation as a CPU hog that brings your PC to its knees for no apparent reason.
I just hope this means Linux finally will get proper 2D acceleration too, it frustrates me to see flash bring my dual-core 2.6Ghz Linux PC to its knees on many advert-heady sites.