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
    • Tutorial #7: Materials
    • Tutorial #8: Particle Systems
    • Tutorial #9: Camera Basics
    • Tutorial #10: Advanced FreeCamera
    • Tutorial #11: OrbitCamera
    • Tutorial #12: Advanced Camera Functions
  • 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 »

5 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

NO status bar in the new firefox = now you

wap-tek | 25 December, 2010 | 5:51

NO status bar in the new firefox = now you are blind ,
the status bar made it easy to tell if a site link
lied about where you were going and this was
just not coperate / advertizer friendly

webgl = require a beta browser = maybe see something

vrml/x3d = use a plugin or viewer
in any browser, = it worked over 10 years ago!

why cant mozilla just use
a generic vrml / x3d plugin
BUT make it FAULT TOLLERANT = as in
ignore the deliberate standards breaking
that the major players did 10 years ago

google , mozilla, and many other “good guys”
jumped the shark or drank the flavoraid

@wap-tek - sorry for the extremely delayed reply. Been

Cathy Leung | 3 January, 2011 | 13:21

@wap-tek – sorry for the extremely delayed reply. Been taking a break with Christmas and all that going on. Firstly, I don’t think that webGL and X3D/VRML are really doing the same thing. From what I understood X3D/VRML is a high level declarative scene/model specification markup language. webGL on the otherhand is a low level api that allows web pages to make use of hardware accelerated 3D graphics on a person’s computer to render scenes but it is not in itself a scene specification language. In fact, x3dom (http://www.x3dom.org/) has been doing some work in using making use of webGL to render x3d scenes. It is plug-in free and works with any webGL enabled browser.

There is no status bar in Minefield because it is

Phreak Nation | 11 January, 2011 | 17:17

There is no status bar in Minefield because it is a beta browser. Ever walk through a minefield? Not that easy to do. The status bar is not a big issue to me because I use the built in developer console which there you can explicitly track each file and where it is coming from.

Also you keep comparing a beta technology to something that has been around a while. This thing is BRAND new, and not even a standard. Hence why you have to use a beta browser. Also chrome is not a beta browser. Just have to pass an argument and you got it.

Also the reason this is being done is because with plugins come security risks and programming flaws. Always has been an issue with plugin vs native to browser. Also the browser does not monitor any plugin in the way you are wanting because not every plugin is made the same. That is going to be an impossibility.

You say they jumped the shark. I say they are ahead of the curve. Simply because this is beta. If you had an issue with it you have the option of not using it at all. All in all, beta means it is not fully functional and may have glitches, or features not readily available, and to use caution with the release. I refer back to my other comment from your other very similar post.

The reason ‘why cant’ is because it should be a standard feature in all browsers.

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
  • RTS Prototype
  • Particle Systems Demo
  • Cross-Browser Orbiter
  • Mocap Demo With Spheres
  • Google Maps-3D

C3DL Development News

A spec change that keeps coming back to haunt me

At some point, the way firefox handles keyboard events changed. I’m not sure exactly when it happened, all I know is that it broke how I was dealing with keyboard interaction on almost every demo I’ve written (for example,the mocap demo and MotionView). When I wrote the demos, the keydown event would be fired once, [...]

Release 2.2

The 2.2 Release of the Canvas 3D Library includes a number of new features, updates to old features and fixes for several bugs along with the requisite changes to meet the evolving WebGL spec. Some of the things included (in no particular order) are: Better picking code. The ability to swap textures as a scene [...]

Tutorials

  • Tutorial #1: WebGL Browsers
  • Tutorial #2: A simple scene
  • Tutorial #3: Callback
  • Tutorial #4: Models
  • Tutorial #5: Light effects
  • Tutorial #6: Picking
  • Tutorial #7: Materials
  • Tutorial #8: Particle Systems
  • Tutorial #9: Camera Basics
    • Tutorial9-YawPitchRoll
  • Tutorial #10: Advanced FreeCamera
  • Tutorial #11: OrbitCamera
  • Tutorial #12: Advanced Camera Functions

Documentation

Archives

Archives

C3DL Development News

Recent Comments

  • June 2011
  • March 2011
  • October 2010
  • July 2010
  • April 2010
  • March 2010
  • 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
  • A spec change that keeps coming back to haunt me
  • Release 2.2
  • 2.1 Release and things to come
  • Level Up! An Open Web Game Jam
  • Site moved!
  • SceneCreator0.3
  • WWW2010 in Raleigh
  • Motionview
  • On the train to Mountainview
  • C3DL 2.0-WebGL and beyond
  • That depends on what... - peter
  • This application is ... - Haisens
  • I think that example... - peter
  • The above links are ... - Atash
  • Hi there, just wante... - Patrick H. Lauke
  • Firefox 4 was releas... - Cathy Leung
  • In order to access l... - peter
  • I am not able to dis... - preksha
  • "JavaScript can’t di... - Joe Hocking
  • I should point out t... - peter



Canvas 3d JS Library

©2007- 2010 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