Posts Tagged ‘RENDERING’
Firefox 4 in beta to be released soon, also joins the WebGL ranks with Chrome 9. Safari has it in nightlies and IE hasn’t even mentioned it.
There really is too much to list as this release is feature packed! Of course the most exciting being WebGL and hardware acceleration from our perspective.
Firefox 4 now has WebGL enabled by default. Based on the original 3-D Canvas work by Vladimir Vukićević, this is being
widely implemented in browsers. The WebGL spec is on the short path to a 1.0 release and we’re very excited to see this be used in the wild.
Hardware acceleration has finally arrived even though it should have been in nearly all platforms for web last decade, but we’ll take it.
Firefox 4 supports full hardware acceleration on Windows 7 and Windows Vista via a combination of D2D, DX9 and DX10. This allows us to accelerate everything from Canvas drawing to video rendering. Windows XP users will also enjoy hardware acceleration for many operations because we’re using our new Layers infrastructure along with DX9. And, of course, OSX users have excellent OpenGL support, so we’ve got that covered as well.
WebConsole looks like they are joining Chrome and Safari with built in inspection tools similar to Firebug, however Firebug still available.
Firefox 4 will include the Web Console. This is a new tool that will let you inspect a web page as it’s running, see network activity, see messages logged with
console.log, see warnings for a page’s CSS, and a number of other things.
Note this that is something that we’ll be including with Firefox 4 directly. It’s not an add-on.
(Also Firebug will be ready for the final Firefox 4 release.)
Firefox 4 has other improvements like layering (in-memory retained layers), caching/scheduling improvements and lots of other performance enhancements.
2011 is looking like the year all this is coming together, at least for Chrome, Firefox, possibly Safari (need WebGL in main release) and IE is still the biggest problem to getting WebGL. At this point WebGL looks like it is still over a year out as it may not come to IE until IE10 or possibly never, the WebGL 1.0 spec is on the fast track though (don’t we all love Khronos? They have been amazing with OpenGL since they took over). html5 is looking like it will be close to mainstream by the end of this year depending on the install rate of IE9 when released.
The world is waiting to see if Microsoft implements WebGL or tries the old DirectX/D2D only ways. Nevertheless, getting a push for hardware acceleration and fast renders in 2d/3d is a very sweet direction.
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.
Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet
Wide industry Support from Major Browser Vendors including Google, Mozilla and Opera; Specification will be Available Royalty-free to all Developers
I think that Google O3D and OpenGL ES success on iPhone games probably combined to get this in motion. OpenGL and very basic video cards are now standard in most machines out there. Unity3D actually published hardware statistics on casual gamers (web-based games) ever so kindly and shows that even though there are some older Intel cards out there, for the most part machines nowadays have a video card capable of supporting at least low-poly 3d and hardware supported 2d rendering in real-time for games, user interfaces and more.
This is exciting news, it appears the movement of the web gaming market is getting much more capable and is accelerating the innovation of hardware accelerating the web.
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.