Announcement

Collapse
No announcement yet.

The GPU Acceleration Situation In Firefox 6

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sidicas
    replied
    Originally posted by smitty3268 View Post
    That's incorrect. In a few days after FF6 is released, the Type Inference work will land on mozilla-central, which brings some pretty massive js performance improvements on some tests. Then they are working on improving their garbage collector to be incremental and generational, which will make another big improvement. Then will come IonMonkey, which will allow further optimizations.

    There's a lot of work going on to improve performance.
    Ya.. I just did a comparison between Firefox 3.5 and Firefox 6...

    v8 Benchmark version 6

    Score
    Firefox 3.5: 226
    Firefox 6: 2254

    I also don't have any GPU accelerations enabled in Firefox 6.. So definitely there's been significant improvements.. So yea, according to this benchmark Firefox 6 is 10x faster than Firefox 3.5 on the exact same hardware (Intel Pentium M 2.0 Ghz).

    Leave a comment:


  • b15hop
    replied
    Originally posted by hal2k1 View Post
    This is a test from Mozilla of browser hardware acceleration:


    On two of my systems this test result went from about 6 FPS with Firefox 4 and 5 to about 33 FPS in Firefox 6 beta.

    My desktop system has an AMD/ATI R710 GPU, and I use the open source r600g Gallium3D drivers.

    My netbook system (Acer Aspire One 522) has an AMD/ATI C50 APU, and I use the open source r600g Gallium3D drivers.

    These are both very modest systems in terms of GPU performance. On neither system does WebGL work with Firefox 6. Only hardware acceleration, to some extent.

    I expect this to improve again in Firefox 7, but it is still true to say that it has already improved considerably in Firefox 6.
    On win7 HPE x64 with 8GB of ram, onboard HD 5730, i7 720QM, I get 60+ fps with FF5. Not yet tried FF6... Will get back to you on this one...

    Leave a comment:


  • smitty3268
    replied
    IonMonkey Overview

    Leave a comment:


  • matthew11093
    replied
    Nice post, people should find this very helpful.

    Leave a comment:


  • hal2k1
    replied
    Originally posted by smitty3268 View Post
    The bug Firefox had with the Gallium drivers was within Firefox itself. They tracked down and fixed that bug, but didn't want to change the whitelist in FF6 without a full round of testing first.

    FF7 will still only require Mesa 7.10.3, so the drivers have been good at least since that point. If I recall, the Gallium drivers were fine in 7.10.0 as well, it was some bug affecting both classic and Gallium that made them bump it to 7.10.3.

    Edit: the actual bugfix may have been ported from FF7 into 6, so if you run FF6 and bypass the whitelist it may work correctly. But i'm not 100% sure whether that bug got fixed there or not.
    This is a test from Mozilla of browser hardware acceleration:


    On two of my systems this test result went from about 6 FPS with Firefox 4 and 5 to about 33 FPS in Firefox 6 beta.

    My desktop system has an AMD/ATI R710 GPU, and I use the open source r600g Gallium3D drivers.

    My netbook system (Acer Aspire One 522) has an AMD/ATI C50 APU, and I use the open source r600g Gallium3D drivers.

    These are both very modest systems in terms of GPU performance. On neither system does WebGL work with Firefox 6. Only hardware acceleration, to some extent.

    I expect this to improve again in Firefox 7, but it is still true to say that it has already improved considerably in Firefox 6.

    Leave a comment:


  • Bluefang
    replied
    The Mozilla wiki has detailed info on the blacklists for each platform & Firefox version.

    Leave a comment:


  • elanthis
    replied
    They still need a lot of work on the JS engine in Firefox, for sure. I've been working on some WebGL+JS game code this summer, and Chrome is currently the only browser than can handle it. Firefox supports all the necessary features, but the physics engine just runs so pathetically slow that it's not even funny; brings the whole game down to slideshow framerates.

    I haven't gotten a lot of confirmation out of the Google guys on what exactly V8 is doing (and digging through the code is something I don't have time for), but I believe one of the things they've done is work towards a number of optimizations on JavaScript math libraries, e.g. glMatrix or the vector library in Closure. These libraries basically just create JavaScript Array objects or Float32Array objects with 2-4 components and then implement procedural-style functions for manipulating them. Possibly type-inference will help a lot, but V8 might be going so far as to detect these "special" arrays and optimizing them specially.

    Of course, JavaScript is still an utter pain in the arse to use for anything game-related. When your fundamental math types are heap-allocated, garbage-collected, pass-by-reference objects, you run into some serious performance and usability issues. Imaging if scalars acted like that as well: programming anything would be a pain in the arse. I've had some talks with the Chrome engineers about extending JavaScript with native SIMD vector types with all the characteristics one would expect out of a well-implemented C++ 3D library. I don't know what will come out of that, but Web Games fans should hope that they incorporate that feature. It alone will give a huge boost to both performance and to the general usability of JavaScript as a games language.

    (On a side note, one of the primary reasons I know of that many game engines write their own scripting languages instead of using Lua or JavaScript is because of that very issue: making your vector types be regular fat objects is horrific in just so many ways. The other big reason to avoid general purpose high level languages is that their garbage collectors wreck havoc on game performance, and a scripting language designed for game developers rather than for protecting idiots from themselves can be a little less "safe" in terms of memory management while still allowing rapid prototyping and development and offer significantly better performance than what any JavaScript runtime could ever hope to achieve... although admittedly most one-off languages don't have nearly as sophisticated runtimes and JITers as the JavaScript runtimes, because frankly optimizing out an inner loop in a micro-benchmark like the JS engines do so well is utterly useless in real life.)

    Leave a comment:


  • smitty3268
    replied
    Originally posted by Sidicas View Post
    GPU acceleration in a web browser is great and all.. But what about the Javascript performance? Firefox still lags behind Chromium in Javascript performance and it doesn't seem to me like they're doing a whole lot about it..
    That's incorrect. In a few days after FF6 is released, the Type Inference work will land on mozilla-central, which brings some pretty massive js performance improvements on some tests. Then they are working on improving their garbage collector to be incremental and generational, which will make another big improvement. Then will come IonMonkey, which will allow further optimizations.

    There's a lot of work going on to improve performance.

    Leave a comment:


  • Sidicas
    replied
    GPU acceleration in a web browser is great and all.. But what about the Javascript performance? Firefox still lags behind Chromium in Javascript performance and it doesn't seem to me like they're doing a whole lot about it..

    Leave a comment:


  • stqn
    replied
    "en masse"

    Leave a comment:

Working...
X