A user account is required in order to edit this wiki, but we've had to disable public user registrations due to spam.
To request an account, ask an autoconfirmed user on Chat (such as one of these permanent autoconfirmed members).
OffscreenCanvas: Difference between revisions
Jump to navigation
Jump to search
Kenrussell (talk | contribs) (Creating WorkerCanvas2 page from template) |
Kenrussell (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
This is | :''Provides more control over how canvases are rendered. This is a follow-on to the [[WorkerCanvas]] proposal and will be merged once agreement is reached.'' | ||
== Use Case Description == | |||
Feedback from web application authors using canvases have shown the need for the following controls: | |||
* (From ShaderToy, Sketchfab, Verold): need to be able to render to multiple regions on the page efficiently using a single canvas context. 3D model warehouse sites desire to show multiple live interactive models on the page, but creating multiple WebGL contexts per page is too inefficient. A single context should be able to render to multiple regions on the page. | |||
* (From Google Maps): need to be able to render WebGL from a worker, transfer the rendered image to the main thread without making any copy of it, and composite it with other HTML on the page, guaranteeing that the updates are all seen in the same rendered frame. | |||
* (From Mozilla and partners using Emscripten and asm.js): need to be able to render WebGL entirely asynchronously from a worker, displaying the results in a canvas owned by the main thread, without any synchronization with the main thread. In this mode, the entire application runs in the worker. The main thread only receives input events and sends them to the worker for processing. | |||
=== Current Limitations === | === Current Limitations === |
Revision as of 20:34, 27 January 2015
- Provides more control over how canvases are rendered. This is a follow-on to the WorkerCanvas proposal and will be merged once agreement is reached.
Use Case Description
Feedback from web application authors using canvases have shown the need for the following controls:
- (From ShaderToy, Sketchfab, Verold): need to be able to render to multiple regions on the page efficiently using a single canvas context. 3D model warehouse sites desire to show multiple live interactive models on the page, but creating multiple WebGL contexts per page is too inefficient. A single context should be able to render to multiple regions on the page.
- (From Google Maps): need to be able to render WebGL from a worker, transfer the rendered image to the main thread without making any copy of it, and composite it with other HTML on the page, guaranteeing that the updates are all seen in the same rendered frame.
- (From Mozilla and partners using Emscripten and asm.js): need to be able to render WebGL entirely asynchronously from a worker, displaying the results in a canvas owned by the main thread, without any synchronization with the main thread. In this mode, the entire application runs in the worker. The main thread only receives input events and sends them to the worker for processing.
Current Limitations
Explanation of why the current markup is insufficient.
Current Usage and Workarounds
Some evidence that this feature is desperately needed on the web. You may provide a separate examples page for listing these.
Benefits
Explanation of how and why new markup would be useful.
Requests for this Feature
- Source
I would like this feature ...
Proposed Solutions
My Solution
- Brief description of the solution and of how it address the problem at hand.
Processing Model
- Explanation of the changes introduced by this solution. It explains how the document is processed, and how errors are handled. This should be very clear, including things such as event timing if the solution involves events, how to create graphs representing the data in the case of semantic proposals, etc.
Limitations
- Cases not covered by this solution in relation to the problem description; other problems with this solution, if any.
Implementation
- Description of how and why browser vendors would take advantage of this feature.
Adoption
- Reasons why page authors would use this solution.