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

Re: [Public WebGL] Re: Long shader compiles

Win7, Chrome 10.0.648.204, Angle

What was the fix?  With complex shaders, I'm not sure there is any getting away from this one.  A friend of mine told me that at Lucas Arts it would take ~12hrs to build the optimized shaders for xbox.  As long as the DirectX optimizer is on, I'm afraid we'll have this issue.

On Mon, Apr 11, 2011 at 3:20 PM, Kenneth Russell <kbr@google.com> wrote:
On what platform or platforms, and with what browser and browser
version, are you seeing the long shader compile times?

At the current time there is a known issue with long compile times,
caused by the D3DX shader compiler, on Windows in Chrome when using
ANGLE. You ought to be able to confirm whether this is the problem by
seeing whether the command line option --use-gl=desktop causes the
problem to go away. One fix is in the pipeline and should be present
in Chrome 12.

Personally I would rather try to fix these pathologically long shader
compile times than introduce a WebGL extension for asynchronous shader


On Mon, Apr 11, 2011 at 4:26 AM, John Davis <jdavis@pcprogramming.com> wrote:
> Can shader compiles be run on a web worker?  And prevent the browser timeout
> messagebox?
> On Mon, Apr 11, 2011 at 5:49 AM, John Davis <jdavis@pcprogramming.com>
> wrote:
>> For those of us using noise and fractal techniques, it's very easy to
>> create a shader compile which will exceed the timeout in the browser.  I
>> think we might need support for async shader compiles.  This would enable us
>> to keep the UI responsive with a simple splash screen shader while other
>> shaders are being built in the background.  The main thing is to keep the
>> screen from locking up when a long shader compile is needed.
>> http://fractal.io/ is an excellent example.  While my shaders don't take
>> quite as long, I'm hitting the 10-15s duration with shader compiles.
>> Given that we don't appear to have a simple workaround on the compile side
>> (ie turning off loop unrolling, etc), I think our only option is adding
>> async compiles.
>> JD