Posts Tagged ‘PERFORMANCE’
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.
Claus Wahlers has a great post on some lower level Flash handling for shapes. He posts about a tool called as3swf which helps to look into the raw shapes and vector drawing calls in the flash engine.
The output of this tool gives the raw machine code/assembly like procedural output that is very similar to other rendering engines. It actually makes me think of OpenGL a bit in the output switch based, procedural flow except this if for vector drawing rather than raster.
[83:DefineShape4] ID: 1 FillStyles:  [SWFFillStyle] Type: 0 (solid), Color: 666666 LineStyles:  [SWFLineStyle2] Width: 200, Color: ff0000 ShapeRecords: [SWFShapeRecordStyleChange] MoveTo: 400,400, FillStyle1: 1, LineStyle: 1 [SWFShapeRecordStraightEdge] Horizontal: 2000 [SWFShapeRecordStraightEdge] Vertical: 2000 [SWFShapeRecordStraightEdge] Horizontal: -2000 [SWFShapeRecordStraightEdge] Vertical: -2000 [SWFShapeRecordEnd]
It is always good to know what is going on in lower levels to better code for projects that perform well. Another great post on this is the Elastic Racetrack of the AS3 and AVM2 virtual machine which describes how the AVM2 handles drawing those low level shape calls in addition to handling script.
- Check out that and more at Craftymind like some other good stuff like garbage collection in AIR with actionscript 3 (as3) and serializing classes to files in AIR with AS3
- Original ‘Elastic Racetrack’ Post by Ted on Flex in 2005