vvuk / gecko-dev

Other
41 stars 5 forks source link

With version 3 of test build, X3DOM content is broken #14

Open yjung opened 10 years ago

yjung commented 10 years ago

Hi, just tried out the cubes example with DK2 and http://people.mozilla.com/~vladimir/vr/3/firefox-34.0a1.en-US.win64-x86_64.zip This worked fine, however, all X3DOM content (e.g., http://examples.x3dom.org/simpleExamples.html) only renders once or directly crashes the Browser. In the last version (33), x3dom worked, but of course there was no DK2 support. Tried some debugging but ran out of ideas, esp. since this example (http://get.webgl.org/) also doesn't work... :/

vvuk commented 10 years ago

Hmm, very weird. Looking. Something like http://examples.x3dom.org/example/x3dom_helloWorld.xhtml only flickers one frame briefly. There are some additional changes in this build, notably using D3D11 ANGLE instead of D3D9.

It looks like X3DOM is always requesting "preserveDrawingBuffer: true" on the context; this is likely the cause of the issue (or rather, it's triggering a bug in our handling of that with the d3d11 path). Note that preserveDrawingBuffer = true is basically always going to be slow; X3DOM should try to avoid using it if at all possible.

yjung commented 10 years ago

Unfortunately, setting the preserveDrawingBuffer flag to false does not help, same problem as before. FF aways renders the first frame and then stops. (Also read, that this flag slows down, but quite a while ago I tested many scenes on several different machines and it didn't make any noticeble performance difference, however, capturing the canvas content as image is simplified a lot.)