¿Pueden los trabajadores de la web tener acceso a un objeto canvas?Web Workers y Canvas
Respuesta
Pequeña actualización, ya que la pregunta es ahora más de la mitad de un año de edad:
En Chrome/Chromium 6 Ahora puede enviar un lienzo ImageData oponerse a un trabajador web, dejar que el trabajador web realizar cambios en el objeto y luego escribir de nuevo en el lienzo usando putImageData (..).
de Google Chromabrush lo hace de esta manera, el código fuente se puede encontrar aquí:
Actualización:
Las últimas instantáneas de desarrollo de Opera (10.70) y Firefox (4.0b1) también soportan pasar ImageDa ta objetos a un trabajador web.
Actualización 2017:
enlaces reales de Github (más fácil de encontrar los archivos necesarios desde Chromabrush
):
Nº
La especificación postMessage se actualizó hace unos meses a que le permite enviar objetos ImageData pero hasta el momento nadie se ha puesto en práctica ese comportamiento (todos estamos consiguiendo allí). El problema con el lienzo en sí es que es un elemento DOM y por lo tanto no funciona en un trabajador (no hay DOM).
Esto se planteó recientemente en las listas de distribución whatwg o de aplicaciones web, así que sospecho que comenzaremos a ver si es posible proporcionar una API apta CanvasRenderingContext2D en los trabajadores.
que estaba bajo la impresión de que el WebWorker no permitiría ninguna interacción con un DOM ya que eso podría tener posibles problemas lems si varios webworkers están haciendo cambios. –
El problema es que el DOM no tiene ningún concepto de concurrencia, por lo que los trabajadores no permiten ningún estado compartido. La única forma de comunicarse con un trabajador es con postMessage, y que realiza un clon de acuerdo con el "algoritmo de clonación estructurado interno" que básicamente se puede considerar como JSON pero con soporte adicional para algunos tipos de teclas (File, FileList, ImageData, Blob, Date y RegExp) – olliej
Esta respuesta no está actualizada. La otra respuesta ahora es mejor. – Baxissimo
- 1. Web workers en navegadores móviles
- 2. Analizando XML en Web Workers
- 3. Degrading gracefully with Web Workers
- 4. Web Workers - Objetos transferibles para JSON
- 5. ¿Qué navegadores actualmente admiten Web Workers?
- 6. javascript web workers: ¿cómo paso argumentos?
- 7. Dart Isolates As Workers
- 8. ¿Tiene sentido usar Web Workers para un juego?
- 9. ¿Cómo utilizar Web Workers en una compilación Module con Requirejs?
- 10. God stop resque workers rastrillo
- 11. Mezcla HTML5 Canvas y Python
- 12. Canvas y HTML5: navegadores compatibles?
- 13. HTML5 Canvas y Anti-aliasing
- 14. Uso del dispatchDraw (Canvas canvas)
- 15. Running Gearman Workers en el fondo
- 16. Backbone.js y three.js - MVC con canvas
- 17. ¿Usa HTML5 Canvas para capturar parte de una página web?
- 18. sitio web captura de pantalla (HTML5 Canvas/Servicios)
- 19. Web Workers HTML5 funciona en Firefox 4, pero no en Chrome 12.0.742.122
- 20. Cómo evitar que HTML5 Web Workers se bloquee respondiendo correctamente a los mensajes del padre
- 21. ¿Por qué se eliminó el soporte de HTML5 Web Workers del navegador de Android en las versiones 2.2 y posteriores?
- 22. Dibujo de Android en SurfaceView y Canvas
- 23. Diferencias entre Canvas Property y Margen
- 24. UIWebView w/HTML5 Canvas y Retina Display
- 25. Trama de canvas HTML5() gruesa y borrosa
- 26. HTML5, canvas y strokeRect: líneas más angostas?
- 27. Integration Testing the Canvas
- 28. Grid vs. Canvas
- 29. ¿Debo abandonar Adobe Flash para HTML5 y <canvas>?
- 30. ¿Qué versiones de WebKit para móviles admiten JavaScript Workers?
Déjame adivinar que IE es diferente? – Lothar