Posts Tagged ‘hardware’
There is an article at gamasutra about Flash vs. Unity for the future of web 3d games. But it really is the future of true, hardware accelerated gaming, applications and interactives, not just 3d but massive, immersive 2d+3d works/projects on the web and available via browser.
Adobe, or Macromedia previously, owned 3d games with Director (8.5 with Shockwave3d) for a time, but that was really before mainstream was ready (2000-2001-ish). There was a lack of computers with dedicated video cards and GPUs. Today, even the bottom line computers have a decent video card. Also, the surge in mobile and the need for native level access to graphics hardware has spawned this new battle (Thanks Apple!).
Unity has the pipeline, 3d and has been doing that well since 2005/6. They emerged from Director and even have some members of the Director team working at Unity. Adobe is just getting back into this, they dropped Director (or left it wavering) and are now going to attack on the Flash level not just against Unity but to hardware accelerate it for mobile and better video playback hopefully (they currently hardware accelerate scaled video to full screen).
Like the Silverlight vs. Flash product competition, Unity vs. Flash is actually a good thing for developers and both platforms. With Torque3d wavering, html5 and WebGL more than a year out (and WebGL maybe 2-3) for broad mainstream support (I am looking at you IE), this is the time for Flash to move on this and Unity to keep going they way they have. Hardware acceleration makes these plugins relevant and ahead of the current standards emerging in html5 and WebGL.
I love using both tools and they have come a long way since painful Director lingo/w3d/plugin hell for hardware accelerated gaming, apps and interactives. The gaming industry and web are merging, these two products should get a good portion of that projected $87-billion total game market’s annual revenue in five years, as investment advisor Digi-Capital predicts.
It is also a great time to be a developer having these companies vie for developer support. It is exciting that hardware acceleration, 3d games, and widening game industry are all emerging and will be a big thing for the next few years at a minimum.
It is finally time to kick it up a notch. Game on!
Good news for the beginning of hardware accelerating the web, WebGL will now be part of the main Chrome releases not just a compile option for Chromium nightlies.
Google Chrome 9 enables WebGL support by default. “WebGL is a new web technology that brings hardware-accelerated 3D graphics to the browser without installing additional software” and it can be used to create cool applications like Google Body Browser, Field, Aquarium and more.
The update for Chrome 9 also sandboxes Flash, WebGL and plugins like extensions and tabs so that using them will be more secure and not crash the browser or the tab. Hopefully Safari has this soon, and then a few years from now IE may get it. Or they will put out their own DirectX web plugin so everyone has to write it twice like currently in game development. /sarcasm
Silverlight launched in 2007 to compete with Flash as a rich media and internet app toolkit. Microsoft had failed before with Liquid Motion competing with Flash back in late 90′s early 2000′s. Now, over 10 years later, Silverlight might be dying as a technology that was another competitor to Flash, due to poor timing and lack of committment.
I asked Bob Muglia, the Microsoft President in charge of the company’s server and tools business, that very question and got what I consider to be the clearest answer yet about how Microsoft is evolving its Silverlight strategy.
“Silverlight is our development platform for Windows Phone,” he said. Silverlight also has some “sweet spots” in media and line-of-business applications, he said.
But when it comes to touting Silverlight as Microsoft’s vehicle for delivering a cross-platform runtime, “our strategy has shifted,” Muglia told me.
Silverlight will continue to be a cross-platform solution, working on a variety of operating system/browser platforms, going forward, he said. “But HTML is the only true cross platform solution for everything, including (Apple’s) iOS platform,” Muglia said.
Silverlight was launched as a competitor to the Flash Flex framework and competing with Flash video most of all. This was before the H.264 battles, right when the mobile scene blew up and changed the game immensely. It was actually nice when it launched because it pushed Adobe on Flash and Flex (Flex was even later merged into the Flash brand to help it be more consistent like Silverlight). This was good for the whole interactive space.
Microsoft is now going with an HTML5 strategy. The odd thing is that the Windows Phone is entirely Silverlight driven, no html5 support. So is Microsoft going to leave their new mobile platfform high and dry due to this change in strategy? It just seems so short sighted and reactionary over at MSFT that everything is wavering. Who’s developing just silverlight for just Windows Phone? The timing of them stating this couldn’t be worse for Windows Phone.
Microsoft’s html5 strategy is hardware accelerated, something that Silverlight only partially has like Flash (though Adobe is changing that). It is apparent that mobile has changed even the rich internet applications game as well as gaming in that we are back to multiplatform, native apps and non browser plugins for web content (mobile devices support no web browser plugins at all let alone Flash or Silverlight). Still for the next 2-3 years limitations in hardware on mobile devices prevents anything software rendered to be fast (including html5 canvas and svg if there is no hardware acceleration), and due to this slowness, not able to compare/compete to compiled native apps that do have hardware access. This has forced Adobe and now Microsoft to change their strategies to get through it. We may see a resurgence of Flash and Silverlight like plugins on mobile browsers but not for years.
The only real place we see Silverlight is over at Netflix (maybe they will go html5 video or Flash video) and on Microsoft shop client apps. It appears with no support from Microsoft it will fall out of favor faster. Microsoft developers are usually forced to go with what Microsoft is recommending as much of it is sold through a business channel rather than developers now. It is good html5 and standards will be more prevalent in that ecosystem as long as they don’t start marginalizing it to proprietary elements. But if you step back and see the rumors a week ago that Microsoft might be interested in Adobe, the mobile surge and strategy shifts at Microsoft, it seems to send out a clarion call that Silverlight is over or the credits are about to roll.
The mobile surge, standards, native, hardware acceleration and cross platform aims of current market leaders, we have the new game, again. It doesn’t appear like Silverlight was, or will be, a success.
It’s about time. Here at drawlogic we have been pushing hardware acceleration in Flash as it died in Adobe’s Director product that is all but history. Director was horribly not useful as a programming tool but Flash and AS3 have become a great environment, the only thing missing was getting past software rendering limitations to use hardware acceleration that have been made more apparent by mobile devices which are like late 90′s early 00′s computers.
With Flash gaming being so huge and competitors like Unity it is surprising it took this long but it seems Flash and AIR development will be kicking up a notch in 2011 with hardware acceleration.
Adobe has finally delivered or will so in 2011 on this pressing need.
It’s a good thing ByteArray (Thibault Imbert – the man inside) got in there at Adobe he has been there delivering killer stuff and presents a video on Molehill on Adobe Labs showing this new tech.
“Molehill” is the code name for a new set of low-level, GPU-accelerated 3D APIs that will enable advanced 3D experiences across screens through the Adobe® Flash® Platform runtimes. These new low-level APIs will provide advanced 3D and 3D engine developers the flexibility to leverage GPU hardware acceleration for significant performance gains. Today, Adobe Flash Player 10.1, renders thousands of non z-buffered triangles at approximately 30 Hz. With the new 3D APIs, developers can expect hundreds of thousands of z-buffered triangles to be rendered at HD resolution in full screen at around 60 Hz. Using the new 3D APIs in Flash Player and AIR will make it possible to deliver sophisticated 3D experiences across almost every computer and device connected to the Internet.
Developers will be able to create content through the upcoming Flash Player beta program starting in the first half of 2011. To leverage the 3D features exposed in Flash Player during the beta period, developers will use Adobe Flash Builder™ or the Adobe Flex® SDK with an updated SWC exposing the required APIs.
More on the capabilities and rendering tech:
Developers were told to expect “hundreds of thousands of z-buffered triangles to be rendered at HD resolution in full screen at around 60 Hz” under the new APIs, compared to “thousands” of un-z-buffered, 30Hz triangles under the current Flash Player 10.1.
The acceleration will rely on DirectX 9 standards on Windows, OpenGL ES 1.3 on Macs and OpenGL ES 2.0 on mobile platforms, and potentially puts Flash more directly into competition with 3D-centric web game engines such as Unity.
We are very excited about this development and what it means to Unity, WebGL and other technologies that have filled the gap. With Adobe making this change and recent tool support for html5 it seems the old Macromedia innovative spirit has been awoken. I only wish it could have kicked into high gear in 2007-2008 when mobile made native and hardware acceleration necessary again and probably for good.
As we learn more and get our hands on it we will be posting much more on ‘Molehill’.
Chromium is moving to GPU hardware accelerate rendering all types of web content as much as possibly with their latest efforts.
For some time now, there’s been a lot of work going on to overhaul Chromium’s graphics system. New APIs and markup like WebGL and 3D CSS transforms are a major motivation for this work, but it also lets Chromium begin to take advantage of the GPU to speed up its entire drawing model, including many common 2D operations such as compositing and image scaling. As a lot of that work has been landing in tip-of-tree Chromium lately, we figured it was time for a primer.
The primer they are looking at is not just rendering the content made in WebGL, CSS3 3d transformations and more but the entire final pass of the output. This leads to some very interesting years ahead in browsers. With Chromium, IE9, Firefox and Safari all now with aspects of hardware rendering and acceleration via the GPU, anyone not doing GPU acceleration is seemingly behind the curve that seemed to start in 2007ish to a culmination of today’s latest browsers.
After these layers are rendered, there’s still a crucial last step to blend them all onto a single page as quickly as possible. Performing this last step on the CPU would have erased most of the performance gains achieved by accelerating individual layers, so Chromium now composites layers on the GPU when run with the –enable-accelerated-compositing flag.
Web content will get really interesting over the next couple years. Even basic computers now have a GPU and bottom of 32MB video memory. Why aren’t we using those GPUs as much as possible for web content and web games. The time of software rendering might be coming to an end now that processors seem to have topped out and the bottom level computer is capable of handling a decent amount of video memory. It will be easier to justify useful graphics acceleration with a better user experience when we can take advantage of all the computer/device has to offer.
UPDATE: Due to retractions it cannot be entirely confirmed that IE9 will support <canvas> of html5 spec. They are the last browser and they must support it for it to be a real, valid solution for 2d animation. GPU supported <canvas> would be a huge innovation but would also most likely kill Silverlight for animation, unless they integrate <canvas>. Standards are such a tough bet, ask Adobe with the ES4 bet. Since standards are so tough to get through and are design by committee many times, plugins still have a huge advantage of changing easily. We’ll keep an eye on IE9 to see if the <canvas> revolution will happen soon or if it will be years off. It will most likely be years off for mainstream at any rate.
Could it be that Microsoft is innovating again? IE9 will supposedly be largely hardware accelerated for all graphical elements and possibly <canvas> and <video> html5 tags? IE9 test drive preview available here.
It appears Microsoft has been enjoying the Apple, Adobe, Google smackdowns on each other, got lost in the dust kicked up and just done what many developers want: hardware acceleration. Firefox 3.7 also has hardware acceleration coming down the pike.
Specifically, IE9 will take advantage of the underlying hardware in different ways, both from a visual perspective as well as code execution perspective:
- The MSHTML rendering layer has been enhanced to use Direct2D and DirectWrite instead of GDI. Direct2D enables GPU accelerated 2D graphics and text, and allows sub-pixel positioning. In addition, the GPU is used for scaling (bitmaps are mapped to textures), which is ideal for zooming and moving images around the screen. This GPU support translates directly into improved readability of pages, more precise placement of text and images, and smooth scrolling and zooming.
- IE9 is more standards compliant than previous versions, with new support for HTML5 elements such as <video>, CSS3 support, and SVG support. All graphic elements will be accelerated on the GPU and will enable hardware accelerated rendering contexts for application development, improving visual display, reducing CPU usage, and improving power usage.
There is no excuse in this age where most people have at least a 32MB cards even on the lowly intel OEM cards to not take some advantage of hardware rendering/acceleration for aspects of web content including video, 2d, games and even 3d.
There are lots of other areas of browsers and tech that is hardware accelerated such as plugins like Unity (and Director waaay before that), video, and new tools like WebGL/O3D. Firefox 3.7 is also aiming for hardware acceleration. This idea of browser graphical elements not just in a plugin or video player being hardware accelerated is something that might spark some very interesting and innovative experiences.
I applaud this effort and hope there is truth in it beyond just a preview that has features cut. I also hope more browsers and plugins start doing the same besides just IE9 and Firefox. This entire blog has pretty much had an underlying hardware rendering/acceleration slant. I have been pushing this for sometime and I believe the time is coming soon that web developers will be equipped with the power that native and game developers have for graphics soon, mainly for applications, games and experiences.
The best news is that IE9 will support html5 and <canvas>, <video> tags and ensures the new functionality that web developers will be able to use. We’ll all have to wait for 2-3 years probably before it is something that is 90% saturated and usable in the mainstream market but it is good to know great times lie ahead.
I can’t believe I just wrote about IE possibly innovating ahead of others.
Google has a few things going for 3d in the browser, not just 3d but hardware rendering in the browser. They previously had native client which allows you to run code via a plugin proxy with a sample running Quake. They also had Lively which was a virtual world plugin that was shut down a few month after it started.
This won’t change anything now as Unity3D, Flash 3D pseudo engines, even Director 3D still are the top choices for games, apps, and interactives that need effects and possibly hardware rendering. But it is interesting that Google is essentially re-entering this debate after ditching on Lively and they must see some benefit to having a discussion about 3d on the web and 3d standards in general. I know they have lots of models and tools with SketchUp and Google 3D warehouse so who knows maybe they will take it over by being standards, open and information based.
What is O3D?
O3D is an open-source web API for creating rich, interactive 3D applications in the browser. This API is shared at an early stage as part of a conversation with the broader developer community about establishing an open web standard for 3D graphics.
One thing is for sure, 3d development is still old school proprietary lock in in most cases. Working with 3d and tools like Maya, 3dsmax and others they have always been very non standard. From file formats to interfaces to even basic movements, all different. The general maths of 3d are the same and so should 3d pipelines. Formats like COLLADA are nice because they are starting to open up 3d pipelines and content creation but COLLADA still has many porting issues. FBX file format is another that is really useful and common making pipelines in Unity 3D, for instance, very nice. But it is owned and run by Autodesk who owns all the 3d apps (Maya, 3dsmax, SGI) and I am a bit leary of that method. But in the end 3d pipelines and rendering will be somewhat standardized and maybe the web will be hardware rendered one day. In most cases it is not needed, but for gaming, immersion, demos and other entertainment it could benefit heavily from a more standardized 3d pipeline and methods.
A few weeks ago the makers of Unity3d released some really valuable information about casual gaming and general hardware of users that play online games. It was an interesting report and very beneficial to developers on the Unity platform and others. We wish other plugin makers would do the same in such a thorough method.
Unity 3d creators listened to the market and have now posted updated numbers and information as well as a page that quarterly stats will be updated. Check the new, quarterly, hardware of the casual gamer stats.
I would have seen this earlier but I have been deep in a Unity 3d project myself :). I am a big fan of all web based gaming platforms and Unity is almost a dream come true for 3d web gaming. For the company to be this open that is a very good sign.
What can you do with Unity3D? Here is a list of games made with Unity3D on the web. The one great thing about this platform is that is was made for gaming specifically from the start. Simulations and game development with Unity3D is very fun and productive. I still love Flash, Director etc but Unity3D development is now very much in my rotation.
Games made with Unity3D:
Hancock Movie Games
Tennis Stars Cup
Temploe (ninjas attack you)
RC Laser Warrior
Urban Race Star
EPIC Tower Defense
Mario Galaxy like run (third one down)
But, Director is like the Rodney Dangerfield of products at Adobe. Everywhere you have to dig for it, it doesn’t even have updated marketing in most places, the shockwave player link is still from 2002 etc. I wish that Adobe would support it more, open it up, allow better IDEs, integrate ES4 based Actionscript 3 or 4 into it and keep the 3d market that shockwave supports moving along.
Maybe they will give Director more love but if they don’t allow for some community input and work on the platform like Flex and Flash have thrived on, well they might just lose that piece of the market (3d gaming, hardware).
First impression is the fonts do look much better. Unicode support is so far so good and I haven’t had a chance to dig into the AEGIS PhysX engine yet but that looks very very fun.
For instance here is a Physics Engine call that creates a rigid body terrain
Or some raycasting:
What Adobe needs to do is port into Flash the ability to use Shockwave3D (hardware rendering for 3d), AEGIS PhysX, would that not blow up big time or what?