backtop


Print 44 comment(s) - last by bjacobson.. on Nov 26 at 12:17 AM

Microsoft looks to rise to the challenge issued by Mozilla, Google, Opera, and others

In our series on browsers, we looked extensively at the latest versions (including test versions) of the top 5 mainstream browsers -- Opera 10.0, Firefox 3.6 (a1 at the time), Safari 4, Internet Explorer 8, and Google Chrome 4 (this series had four entries which you can find here 1, 2, 3, and 4).  We found that Microsoft Internet Explorer had some compelling strengths, such as its security, but overall used too much memory, CPU, and was too slow.

Microsoft is aware of these concerns and it has been racing to develop a successor to IE 8 -- Internet Explorer 9.  IE 9 looks to be everything IE 8 wasn't -- fast and lean.  With the forthcoming release, Microsoft looks to give Internet Explorer a makeover akin to the Windows Vista to Windows 7 transition.

The foundation of this effort was discussed in depth at the Microsoft Professional Developers Conference in Los Angeles by Windows unit president Steven Sinofsky.  At the core of the changes is hardware acceleration of text and graphics.  Microsoft's Dean Hachamovitch, general manager of Internet Explorer, said the technology will be akin to Google's Native Client, used by Chrome to better utilize the processor's power, and Mozilla's WebGL, used by Firefox to provide hardware acceleration for 3D graphics.

The browser will use Direct2D, rather than the previously used GDI (Graphical Device Interface).  The hardware-acceleration will provide support for technologies such as sub-pixel positioning, which smooths text, reducing eyestrain.  The acceleration also allows the browser to keep up with displaying rich graphics, such as interactive online maps.  In side-by-side testing, Microsoft reports that an online mapping utility runs in IE 9 at 40 to 60 fps with low processor usage, while running at only 5 to 10 fps and 50 to 60 percent CPU usage in IE 8.

Mr. Hachamovitch describes the night and day comparison, stating, "It's a remarkably different level of performance.  It's like the difference between watching Pixar or an Xbox vs. watching an old PC chug along."

He adds, "This is a direct improvement to everybody's usage of the Web on a daily basis.  Web developers are doing what they did before, only now they can tap directly into a PC's graphics hardware to make their text work better and graphics work better."

The browser will also be much closer, reportedly, to the high bar of standards compliance set by the likes of Opera, Safari, Chrome, and Firefox.  Microsoft in August joined the HTML (Hypertext Markup Language) standards effort and this month it set a dozen members to the World Wide Web Consortium (W3C) meeting, a standards summit.  IE 9 reportedly will have almost full support for CSS 3.

Adrian Bateman, a Microsoft program manager who's involved in the standardization effort, describes, "High-quality specifications that improve interoperability between browsers are important. Our goal is to help ensure these new standards work well for Web developers and will work well in future versions of IE."

The standards and hardware acceleration efforts are merged, as Microsoft is looking to use the Direct2D support to speed up the rendering of advanced standards like Cascading Style Sheets, reducing the stress on the developer.  States Mr. Hachamovitch, "Web sites didn't have to change behavior and code in a different way [to utilize Direct2D].  With a lot of other technologies, it takes a lot of work and a lot of time to figure out how to do something different. It isn't necessarily an interoperable, standards kind of thing -- it's something from one particular vendor. We're taking interoperable implementations of things like CSS, things that developers are using and expect to work everywhere, and making them demonstrably better."

While it's unclear if SVG (Scalable Vector Graphics) will finally receive official support in the release, it looks like Canvas graphics are finally likely to be onboard.  Eliot Graff, an IE lead technical editor, is working with W3C to edit the Canvas standard.  Currently on Acid3, a compatibility test, IE 9 scores a 32, versus a mere 20 percent for IE 8.

Microsoft is also working to speed up its Javascript (JS) engine.  In this respect, Microsoft lags significantly behind Chrome's V8, Firefox's TraceMonkey, Safari's Nitro, Opera's Futhark and Caracan JS engines.  John Montgomery, a leader of IE's browser compatibility and tools team says the company is giving a much better showing in the SunSpider JavaScript benchmark.  He states, "We're whipping through these faster than (IE) 8 was.  We're pretty early in the development process. There's still some stuff we can still squeeze out of the engine, but we're doing a lot better than we were."

Microsoft really needs a hit when it comes to browsing.  While it still holds a dominant position, thanks largely to its business users, its marketshare has been sliding thanks to competitors like Firefox, Chrome, and Opera.  The browser by some recent estimates has slid below 60 percent for the first time in years, while Firefox's market share may have risen as high as 30 percent.

With IE 9, Microsoft still might not offer quite the level of standards support as, say Opera, but it is taking a compelling approach -- it is saying that most of the standards it supports will receive some degree of hardware acceleration.  While not new, Microsoft certainly seems to be tackling the topic of hardware acceleration on a much broader scale than is found in the current implementations of Firefox and Chrome.  In all Microsoft's Internet Explorer 9 looks to be an intriguing release, a sign of a positive direction from the browser team, and just maybe enough to win back some of the customers Microsoft has lost to its rivals.



Comments     Threshold


This article is over a month old, voting and posting comments is disabled

By therealnickdanger on 11/20/2009 9:49:30 AM , Rating: 5
OK, I'm not picking on Microsoft here, the same could go for Adobe's Flash or any other application. NVIDIA is trying to get everyone fired up about CUDA, AMD has Stream or whatever it's called. Everyone is trying to accelerate everything with GPUs.

I guess my problem is that it feels like everyone has an excuse to be sloppier and sloppier with coding applications. Rather than optimize for hardware that's been with us since the PC was invented, we're just looking at GPUs and all their brawny power to take over tasks that we can't seem to run effectively on CPUs. Like Anand's article on the Flash 10.1 update observes, there's NO EXCUSE for a 16-thread Nehalem machine to drop frames when watching Hulu HD. It's all bullsh*t. Lazy programming.




By DCstewieG on 11/20/2009 10:07:40 AM , Rating: 5
While I agree that these things could probably perform better on the CPU than they do currently, that doesn't change the fact that they could work WAY better than even that on a GPU.


By CSMR on 11/20/2009 10:14:33 AM , Rating: 5
Why is sloppy coding characteristic of GPU accelerated software? Because it's harder to write fast software for CPU only? It's harder because the GPU is more efficient at certain tasks.
Multi-core systems haven't been with us from the beginning either. Parallel processing/multithreading has it's place and running things on the GPU also. Choose the right approach for the task - in the case of video, GPU acceleration.


By nafhan on 11/20/2009 10:33:14 AM , Rating: 5
Does it matter how they make things go faster? If coding for the GPU is faster and easier (i.e. cheaper) than optimizing for general purpose CPU's, then that's the best thing to do from a business standpoint.
Personally, if something runs faster without me needing to upgrade my hardware, I'm going to be happy about it.
Oh, and Flash sucks :)


By therealnickdanger on 11/20/2009 11:01:12 AM , Rating: 3
Believe me, I'm ALL for things going faster, but we're approaching a tipping point where a lot more development is headed toward GPU-acceleration WITHOUT much discipline. How long before we NEED a 300W GPU to surf the web in place of a 5W CPU? I'm speaking tongue-in-cheek, but I think you get my point.


By CSMR on 11/20/2009 11:42:26 AM , Rating: 3
Using the most efficient hardware for the task is what generates power efficiency. E.g. the NVidia Tegra can decode HD video (1080p h264 or vc1 I think) using 1-2W power. Consumer level GPU stuff on PC can be done on with current-generation integrated graphics (which are power efficient and becoming more so). Professional applications e.g. rendering will naturally need more.


By nafhan on 11/20/2009 1:45:21 PM , Rating: 2
The lowest common denominator is going to be what keeps things from getting too out of control. For consumer level stuff such as web browsing, they will need any GPU/"hardware" accelerated stuff to work on Intel's integrated graphics or they will be leaving a huge portion of PC users in the dust. The current trends in hardware acceleration are just making better use of hardware that everyone already has, NOT requiring anyone to buy new stuff. System requirements keep pace with the low end, and hardware acceleration isn't going to change that.


By tastyratz on 11/20/2009 2:50:00 PM , Rating: 3
absolutely. Throwing more grunt at the problem doesn't actually FIX the problem, its just tapping a new source of power.

Just how much does a poorly coded app literally actually cost us from our pocket? Don't forget these power hungry machines under load consume significantly more power - and that comes at a cost on our monthly bill.

I as well believe that faster computing is no excuse for sloppy quick coding. Make the product faster because of clean tight code, and benefit from the most optimal processing medium (albeit gpu or cpu) in an effective manner.


By InternetGeek on 11/20/2009 2:52:58 PM , Rating: 3
You guys are heading into a long debate about programming. There are various camps as far as software practices go. One camp says we don't need any kind of coding discipline (functionality-centered), the other camp says we should view software as an engineering discipline (architecturally-centered).

Some says the debate is about whether people are hackers or enterprise developers. Accusations fly from one side to the other, but most of the arguments go around whether programmers are attached to their software to modify it or good practices and patterns are used so anyone can help.

Have fun ;)


By callmeroy on 11/20/2009 11:16:40 AM , Rating: 2
First, I'm not a programmer thus I'm not to up things like current programming languages or how efficient, for how inefficient, certain applications are at execution.

BUT, I do actually LIKE the idea of offloading some tasks to the GPU (especially modern GPUs that are quite beefy and powerful) to increase performance. To emphasize what I mean -- I'd like the idea EVEN IF the code was incredibly efficient and running off the CPU. Offloading certain tasks/apps and dividing the workload just makes sense to me.


By Truxy on 11/20/2009 11:23:19 AM , Rating: 2
Not sure I'd call it lazy programming. Like others have said, GPUs are designed to accelerate the rendering of graphics. They are designed to do so from top to bottom, hardware and drivers. CPU's are designed to do anything and everything, which is inherently inefficient.

The good thing is that both CPUs and GPUs are finally both becoming very good at consuming most of their power only when being used. My new i7 860, 8GB DDR3-16000, Radeon 5870 system runs about 60-70watts sitting on the Windows 7 desktop according to my Kill-O-Watt.


By jonmcc33 on 11/20/2009 11:51:59 AM , Rating: 2
quote:
I guess my problem is that it feels like everyone has an excuse to be sloppier and sloppier with coding applications. Rather than optimize for hardware that's been with us since the PC was invented, we're just looking at GPUs and all their brawny power to take over tasks that we can't seem to run effectively on CPUs.


It's not about coding applications. It's about using all resources of a PC to keep it fast. Windows Vista/7 could have done Aero with software (CPU) but it would have impacted the performance of the OS too much. That is why it is all driven by DX9 hardware.

It is the same thing for Flash and HD video. That can severely drain the CPU so much that you won't be able to multitask quite well on even a dual core PC. So moving Flash to the GPU makes more sense, just as watching 1080p video that is using DXVA as opposed to the CPU - which a dual core would be close to being maxed out.


By descendency on 11/20/2009 5:54:27 PM , Rating: 2
I'm going to go out on a limb and guess that there have been 1 maybe 2 programmers to respond to this topic.

Let me say as a developer (been playing with code and tools for 10 years now) that adobe and macromedia (outside of photoshop) have some of the sorriest tools in the industry. It's no wonder that Flash sucks so much.

Silverlight is no where near as mature and it still is far superior to flash in terms of rendering HD video. It's too bad MS isn't interested in developing Silverlight for Mac and Linux and that google controls Youtube (one of the few reasons to even have Flash).


By BruceLeet on 11/20/2009 7:35:50 PM , Rating: 2
Parallel Processing, End of Discussion.

On another note I found this on IE9, it sounds good 'on paper'.

http://blogs.msdn.com/ie/archive/2009/11/18/an-ear...


By Lethrir on 11/21/2009 2:43:33 PM , Rating: 2
I'm probably going to make myself unpopular here but...

Often it takes much longer to program something efficiently. If it takes longer to program then if it is commercial code then the cost will go up. If game prices were to double but ran so much more efficiently that you didn't need to upgrade as often would you be any happier?

And the more efficient you make software, the more time it takes to make any further efficiency improvements - it's all diminishing returns and can't hold it's own against Moore's Law.


"Nowadays, security guys break the Mac every single day. Every single day, they come out with a total exploit, your machine can be taken over totally. I dare anybody to do that once a month on the Windows machine." -- Bill Gates














botimage
Copyright 2014 DailyTech LLC. - RSS Feed | Advertise | About Us | Ethics | FAQ | Terms, Conditions & Privacy Information | Kristopher Kubicki