Canvas 3d JS Library

WebGL made easy!
  • rss
  • What is C3DL?
  • Download
  • Tutorials
    • Tutorial #1: WebGL Browsers
    • Tutorial #2: A simple scene
    • Tutorial #3: Callback
    • Tutorial #4: Models
    • Tutorial #5: Light effects
    • Tutorial #6: Picking
  • Development News
  • Documentation
  • Community
  • Resources
  • Contact
  • About

WebGL VS. Canvas 3D

Andor Salga | 7 November, 2009 | 20:33
I had the feeling after I did most of the porting from Canvas 3D to WebGL the performance dropped. To investigate, I ran our benchmark on two systems. The benchmark is simply a script which renders textured teapots in the canvas tag. On each machine I ran the benchmark using Firefox 3.5 with the Canvas 3D extension and then on Firefox 3.7a1pre which uses WebGL. Here are the results:

CDOT Desktop (New Zealand)
Windows XP Pro
Intel Core 2 Quad CPU @ 2.4GHz
3.24GB RAM
GeForce 8600 GT 512MB
TeapotsCanvas 3D FPS WebGL FPS
staticrotatingstaticrotating
1 64646464
964636463
4930233226
10016131815


Macbook Pro
OS X (10.5.8)
2.2GHz Intel Core 2 Duo
2GB DDR2 RAM
GeForce 8600M GT 128MB
TeapotsCanvas 3D FPS WebGL FPS
staticrotatingstaticrotating
1 55554339
91615119
494322
1002211

The performance on the desktop is improved when using WebGL, but is reduced on the laptop. This could be happening for a variety of reasons, which I’ll need to carefully think over. But one important question which keeps bothering me is “Is this a fair test?”. One frame a second is terrible performance, but when you’re rendering 100 3D objects in a browser, it’s a bit unfair to just state that it’s too slow. I’d love to improve the performance so 100 teapots renders at 30FPS, but realistically that’s probably not going to happen. So, the question is by what factor can we speed up rendering? Frankly, I’m not entirely sure, but I’ll be taking a look at other WebGL demos and comparing to see what kind of performance they are able to provide. If anyone has ideas or suggestions, I’d love to hear them!

As a final note, I think to generate more accurate results, the benchmark needs to be modified or otherwise another more thorough benchmark needs to be created. One which runs at least a series of 100 tests. Each test could include an additional teapot to render. If this is done, graphing the results would much more meaningful. If anyone, especially OSD600 or DPS909 students is interested in doing this, let us know!
Categories
c3dl development
Comments rss
Comments rss
Trackback
Trackback

« WebGL Port Progress WebGL Demo »

2 responses

[...] from the original Canvas3D (WebGL’s predecessor). The latest news

WebGL around the net, 9 Nov 2009 - Learning WebGL | 9 November, 2009 | 11:34

[...] from the original Canvas3D (WebGL’s predecessor). The latest news is that they have some speed comparisons (in terms of teapots per second ;-) between the [...]

Hey... I noticed that my Macbook Pro has the same configuration

Arun Suresh | 3 December, 2009 | 23:13

Hey…

I noticed that my Macbook Pro has the same configuration as your:
OS X (10.5.8)
2.2GHz Intel Core 2 Duo
2GB DDR2 RAM
GeForce 8600M GT 128MB

yet I am not able to get Minefield (v3.7a1) or WebKit (r51580)
to render anything for eg : http://www.peternitsch.net/demo/webgl/index.html

For Minefield.. i have flipped the “webgl.enabled_for_all_sites” and the “html5.enable” switch in about:config..
And for webkit, I have set the following switch.. “defaults write com.apple.Safari WebKitWebGLEnabled -bool YES”

For some reason.. nothing seems to work…
Could you please let me know if I am missing something ?

Thanks in advance
-Arun

Leave a comment

You can use these tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Videos

Demos

  • Asteroids-3D
  • Particle Systems Demo
  • Cross-Browser Orbiter
  • Mocap Demo With Spheres
  • Google Maps-3D

C3DL Development News

C3DL 2.0-WebGL and beyond

It has been a long time coming but we have now updated all the core features of C3DL to use WebGL. You can dowload our 2.0 release here. We have also updated all our demos to use WebGL. Our tutorials have all been updated (tutorial 5 and 6 needs a better example [...]

Preliminary WebGL RTS Game

Cathy asked me to make a cool demo using our library. After thinking about, I started getting many ideas, but creating a preliminary real-time strategy game made the most sense. It not only demonstrates a lot of C3DL features such as model loading, transformations, lighting, shaders, picking, cameras, textures, etc, but since animation is kept [...]

Tutorials

  • Tutorial #1: WebGL Browsers
  • Tutorial #2: A simple scene
  • Tutorial #3: Callback
  • Tutorial #4: Models
  • Tutorial #5: Light effects
  • Tutorial #6: Picking

Documentation

Archives

Archives

C3DL Development News

Recent Comments

  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
  • C3DL 2.0-WebGL and beyond
  • Preliminary WebGL RTS Game
  • Asteroids in 3D… and a bit of 2D
  • Another demo updated
  • Simplifying the Interface
  • Updating Demos
  • Cross-browser progress update
  • let there be vars
  • Creating tester pages
  • Problems with porting
  • keep it coming ve... - gero3
  • congrats on a great... - Paul Brunt
  • c++ not c# actually... - Cathy Leung
  • It's unbelievable ho... - Paul
  • Wow, now that's a co... - Andor Salga
  • Hi, is the project... - Sascha Hendel
  • I agree with both co... - Cathy Leung
  • Your library is real... - Sascha Hendel
  • Hi, as a more gener... - Sascha Hendel
  • Thanks. I just pull... - peter



Canvas 3d JS Library

©2007- 2009 Canvas 3d JS Library

Disclaimer: This website is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Canada License.
The Canvas 3d JS Library and Demos found on this website are licenced under the MIT License

Creative Commons License