[webkit-help] Slow Performance on Ray Tracing and Pointer Lock

Brian Barnes ggadwa at charter.net
Mon Mar 28 11:47:35 PDT 2016


On 3/28/2016 1:17 PM, Dean Jackson wrote:

>> On Mar 27, 2016, at 10:28 PM, Brian Barnes <ggadwa at charter.net
>> <mailto:ggadwa at charter.net>> wrote:
>>
>> I put in two bug reports (25254565 and 25254546) in the bug reporter
>> for these.
>>
>> I’m working on a javascript 3D engine where every pixel, sound,
>> normal, spec, shadow map, etc, is dynamically created.  It’s in the
>> early stage, but Safari has a couple problems.
>>
>> The software has two stages: one, where it creates all the assets, and
>> then the second, where it uses them to play a game.  Chrome, FF, and
>> Safari run the second part well (but sometimes Safari has a little
>> more trouble with in-between frame GCs, but it’s pretty good all
>> around.)  The first part gives Safari fits, and most notably when the
>> system ray-traces the map surfaces to build a light map.  For a good
>> sized map it takes about a minute on Chrome or FF, but Safari takes
>> well over 8 minutes.  In that one piece it’s surprisingly inefficient
>> in Safari.
>
> Yeah, I'm seeing the same thing. Thanks for filing the bugs.

BTW, if you want to grab the code from github (the link is on the 
webpage) there's a chunk of code: code\main\constants.js that has these 
lines:

const SEED_BITMAP_MAP=Math.trunc((Math.random()*SEED));
const SEED_MAP=Math.trunc((Math.random()*SEED));
const SEED_BITMAP_MODEL=Math.trunc((Math.random()*SEED));
const SEED_MODEL=Math.trunc((Math.random()*SEED));
const SEED_ENTITY=Math.trunc((Math.random()*SEED));
const SEED_SOUND=Math.trunc((Math.random()*SEED));

Changes all those to some number (like 1) and the system will generate 
the exact same assets (it's guaranteed with the same seed.)  That might 
make it easier to track as you'll always be running the exact same ray 
trace.

>>
>> The second point is that there seems to be absolutely no public
>> discussion on Pointer Lock, which is something I’ve obviously need and
>> seems to be part of the spec now.  You feature list on the safari blog
>> doesn’t have it.  Is this coming?  Is there anything I should be aware
>> of expecting it to be there (i.e., it’s part of some fight, not that
>> you could tell me, anyway!)
>
> We should probably add this to the feature list page on the web site.
> I'd classify it as Under Consideration.

Thanks, that's a huge missing feature for us that are trying to do games.

[>] Brian


More information about the webkit-help mailing list