x3dom / x3dom

X3DOM. A framework for integrating and manipulating X3D scenes as HTML5/DOM elements.
http://x3dom.org
Other
815 stars 271 forks source link

Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true #1282

Open coderextreme opened 11 months ago

coderextreme commented 11 months ago

‘’’ Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: x3dom-full.debug.js:21721 Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently x3dom.Texture.uploadTextMipmap @ x3dom-full.debug.js:21721 x3dom-full.debug.js:21721 Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently x3dom.Texture.uploadTextMipmap @ x3dom-full.debug.js:21721 x3dom-full.debug.js:21721 Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently x3dom.Texture.uploadTextMipmap @ x3dom-full.debug.js:21721 x3dom-full.debug.js:21721 Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently x3dom.Texture.uploadTextMipmap @ x3dom-full.debug.js:21721 x3dom-full.debug.js:21721 Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently x3dom.Texture.uploadTextMipmap @ x3dom-full.debug.js:21721 x3dom-full.debug.js:21721 Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently x3dom.Texture.uploadTextMipmap @ x3dom-full.debug.js:21721 x3dom-full.debug.js:21721 Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently x3dom.Texture.uploadTextMipmap @ x3dom-full.debug.js:21721 x3dom-full.debug.js:21721 Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently x3dom.Texture.uploadTextMipmap @ x3dom-full.debug.js:21721 x3dom-full.debug.js:21721 Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently ‘’’

andreasplesch commented 11 months ago

Thanks,

https://github.com/x3dom/x3dom/blob/434365a4bf0d52ddf1ee2d03c22d755bdbe64a5b/src/Texture.js#L875

seems the only place where getImageData is called, for setting up rendering Text. It is called rarely, eg. not every frame.

See https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext#willreadfrequently

Sounds like it trades off memory vs. performance. Probably not applicable here.

coderextreme commented 11 months ago

Joe's animation panel (choice of animation in as Texts) is not showing up in x3dom. I'll ask him to provide a copy to x3dom github.

Thanks, Joe.

On Wed, Jul 12, 2023 at 3:28 PM Andreas Plesch @.***> wrote:

Thanks,

https://github.com/x3dom/x3dom/blob/434365a4bf0d52ddf1ee2d03c22d755bdbe64a5b/src/Texture.js#L875

seems the only place where getImageData is called, for setting up rendering Text. It is called rarely, eg. not every frame.

See https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext#willreadfrequently

Sounds like it trades off memory vs. performance. Probably not applicable here.

— Reply to this email directly, view it on GitHub https://github.com/x3dom/x3dom/issues/1282#issuecomment-1633168498, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFMJ5ZKH4JZ5E2PIAN6663XP4CFXANCNFSM6AAAAAA2HRQV7M . You are receiving this because you authored the thread.Message ID: @.***>

coderextreme commented 11 months ago

Here's a picture of what's happening: X3DOM above, X_ITE below (the middle one).

[image: image.png]

On Wed, Jul 12, 2023 at 4:06 PM John Carlson @.***> wrote:

Joe's animation panel (choice of animation in as Texts) is not showing up in x3dom. I'll ask him to provide a copy to x3dom github.

Thanks, Joe.

On Wed, Jul 12, 2023 at 3:28 PM Andreas Plesch @.***> wrote:

Thanks,

https://github.com/x3dom/x3dom/blob/434365a4bf0d52ddf1ee2d03c22d755bdbe64a5b/src/Texture.js#L875

seems the only place where getImageData is called, for setting up rendering Text. It is called rarely, eg. not every frame.

See https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext#willreadfrequently

Sounds like it trades off memory vs. performance. Probably not applicable here.

— Reply to this email directly, view it on GitHub https://github.com/x3dom/x3dom/issues/1282#issuecomment-1633168498, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFMJ5ZKH4JZ5E2PIAN6663XP4CFXANCNFSM6AAAAAA2HRQV7M . You are receiving this because you authored the thread.Message ID: @.***>

andreasplesch commented 11 months ago

Thanks. The picture did not make it.

https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/BoxMan4AnimationPanelX3dom.xhtml

seems to work. Is the same panel ?

coderextreme commented 11 months ago

Yeah, works okay for me too. Look at the console in Chrome or Edge.

John

On Wed, Jul 12, 2023 at 6:33 PM Andreas Plesch @.***> wrote:

Thanks. The picture did make it.

https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/BoxMan4AnimationPanelX3dom.xhtml

seems to work. Is the same panel ?

— Reply to this email directly, view it on GitHub https://github.com/x3dom/x3dom/issues/1282#issuecomment-1633333802, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFMJ5ZGRBJGMCKR6PNAHLTXP4X3LANCNFSM6AAAAAA2HRQV7M . You are receiving this because you authored the thread.Message ID: @.***>

coderextreme commented 11 months ago

What I mean with the picture is this example in X3DOM (on top) does not match the menu below in X_ITE (below). I will ask Joe if I can release the model.

John

On Wed, Jul 12, 2023 at 4:20 PM John Carlson @.***> wrote:

Here's a picture of what's happening: X3DOM above, X_ITE below (the middle one).

[image: image.png]

On Wed, Jul 12, 2023 at 4:06 PM John Carlson @.***> wrote:

Joe's animation panel (choice of animation in as Texts) is not showing up in x3dom. I'll ask him to provide a copy to x3dom github.

Thanks, Joe.

On Wed, Jul 12, 2023 at 3:28 PM Andreas Plesch @.***> wrote:

Thanks,

https://github.com/x3dom/x3dom/blob/434365a4bf0d52ddf1ee2d03c22d755bdbe64a5b/src/Texture.js#L875

seems the only place where getImageData is called, for setting up rendering Text. It is called rarely, eg. not every frame.

See https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext#willreadfrequently

Sounds like it trades off memory vs. performance. Probably not applicable here.

— Reply to this email directly, view it on GitHub https://github.com/x3dom/x3dom/issues/1282#issuecomment-1633168498, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFMJ5ZKH4JZ5E2PIAN6663XP4CFXANCNFSM6AAAAAA2HRQV7M . You are receiving this because you authored the thread.Message ID: @.***>

andreasplesch commented 11 months ago

The picture did not make it.

coderextreme commented 11 months ago

My understanding I’m still talking about the same picture I thought you said did make it? A typo?

On Thu, Jul 13, 2023 at 5:28 PM Andreas Plesch @.***> wrote:

The picture did not make it.

— Reply to this email directly, view it on GitHub https://github.com/x3dom/x3dom/issues/1282#issuecomment-1634996750, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFMJ525WZBZ7L2HF3CDGODXQBZAVANCNFSM6AAAAAA2HRQV7M . You are receiving this because you authored the thread.Message ID: @.***>

andreasplesch commented 11 months ago

Yes, it was a typo.