[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] WebGL benchmarking



I just did a quick profile, and calls to glGetError() stood out.  In a Minefield build on a new 15" MBP (Win7, nvidia 330M), here's what I get with the fixes I sent earlier (Uint8Array, non-HTML TexImage2D call, etc.):

+--------+-----+-------+------------+-----------+---------+
| layers | dim | prim  |  tris/sec  | draws/sec |   dt    |
+--------+-----+-------+------------+-----------+---------+
|      4 |  16 | strip |   27170659 |     60379 |   2.004 |
|      4 |  32 | strip |  116891326 |     60818 |   2.006 |
|      4 |  64 | strip |  245867257 |     30973 |   2.034 |
|      8 |  64 | strip |  264989691 |     33382 |   2.037 |
+--------+-----+-------+------------+-----------+---------+

If I turn the check_gl_error function into a no-op, just adding a "return;" at the start:

+--------+-----+-------+------------+-----------+---------+
| layers | dim | prim  |  tris/sec  | draws/sec |   dt    |
+--------+-----+-------+------------+-----------+---------+
|      4 |  16 | strip |   29790941 |     66202 |   2.009 |
|      4 |  32 | strip |  131958209 |     68657 |    2.01 |
|      4 |  64 | strip |  578317365 |     72854 |   2.004 |
|      8 |  64 | strip |  589747400 |     74294 |   2.019 |
+--------+-----+-------+------------+-----------+---------+

I've got some profiles that show us hitting a number of slow paths; will look at those in the next week or so.

    - Vlad


----- "Gregg Tavares" <gman@google.com> wrote:

> On Fri, May 28, 2010 at 8:57 AM, Chris Marrin < cmarrin@apple.com >
> wrote:
> 
> 
> 
> 
> On May 24, 2010, at 10:53 AM, Thatcher Ulrich wrote:
> 
> > Thanks for the heads-up! Safari+webkit should be fixed now.
> >
> > I see there is an issue with Safari+webkit where the profile script
> > blocks for a long time and the browser pops a dialog box, throwing
> off
> > the timing. I'll see if I can break up the profile to eliminate
> that.
> >
> > Re chromium, I've been working with nightly builds, so there may be
> > discrepancies with older builds around things like WebGLFloatArray.
> I
> > just verified it works with the most recent chromium nightly, 48040.
> >
> > Re Minefield, I'll take a look soon.
> 
> Excellent. Works on WebKit Nightly now. Very nice performance test.
> Here are my results:
> 
> userAgent = Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us)
> AppleWebKit/533.7 (KHTML, like Gecko) Version/4.1 Safari/533.7
> gl.VERSION = 2.1 NVIDIA-1.6.10
> gl.VENDOR = NVIDIA Corporation
> gl.RENDERER = NVIDIA GeForce GT 120 OpenGL Engine
> +--------+-----+-------+------------+-----------+---------+
> | layers | dim | prim | tris/sec | draws/sec | dt |
> +--------+-----+-------+------------+-----------+---------+
> | 4 | 16 | strip | 21107784 | 46906 | 2.004 |
> | 4 | 32 | strip | 87363636 | 45455 | 2.002 |
> | 4 | 64 | strip | 219195266 | 27613 | 2.028 |
> | 8 | 64 | strip | 247458354 | 31174 | 2.053 |
> +--------+-----+-------+------------+-----------+---------+
> 
> Yes, that is a WebGL demo getting 247 million triangles per second!
> This is on an admittedly high end Mac Pro. But even on my MacBook Pro,
> I'm seeing 210 million.
> 
> 
> Unfortunately how many triangles per second is dependent on the GPU,
> not WebGL. The more important number is draws per second for small
> prims since that's closer to showing the JavaScript/WebGL
> implementation overhead. For example, the original beach demo from O3D
> was doing 270,000 draws per second (before we optimized the assets)
> and that was for relatively complex shaders (lots of uniforms and
> attribs to set before every draw call).
> 
> It would be nice to look into ways to get this number higher for
> WebGL.
> 
> 
> 
> 
> Thanks for the great work!
> 
> 
> 
> 
> -----
> ~Chris
> cmarrin@apple.com
> 
> 
> 
> 
> 
> -----------------------------------------------------------
> You are currently subscribed to public_webgl@khronos.org .
> To unsubscribe, send an email to majordomo@khronos.org with
> the following command in the body of your email:
-----------------------------------------------------------
You are currently subscribed to public_webgl@khronos.org.
To unsubscribe, send an email to majordomo@khronos.org with
the following command in the body of your email: