Education/Projects/ProcessingForTheWeb/Performance: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 1: Line 1:
I have been looking at old test-cases for Canvas bugs which I discovered and submitted info on: such as Global Alpha, ArcTo, etc. Things seem to have been fixed, and it is very comforting to witness Mozilla developers having moved things forward over time.  
I have been looking at old test-cases for Canvas bugs which I discovered and submitted info on: such as Global Alpha, ArcTo, etc. Things seem to have been fixed, and it is great to witness Mozilla developers having moved things forward over time.  


There are other bugs/performance issues and features which need addressing. The lists that follow will have test cases added shortly and I will be trying to link these to old bugzilla reports so we can get some outstanding threads closed down. <br>  
There are other bugs/performance issues and features which need addressing. The lists that follow will have test cases added shortly and I will be trying to link these to old bugzilla reports so we can get some outstanding threads closed down. <br>  
Line 9: Line 9:
'''P100) Canvas Stalling''' - Canvas stalls with mouse movement, hardware interupts, CPU spikes etc and appears to stall at regular intervals when idle. GC suggested as likely cause. This behavior does not seem to be present in Safari or Chrome.<br>  
'''P100) Canvas Stalling''' - Canvas stalls with mouse movement, hardware interupts, CPU spikes etc and appears to stall at regular intervals when idle. GC suggested as likely cause. This behavior does not seem to be present in Safari or Chrome.<br>  
<blockquote>'''Test Case:'''<br> http://hyper-metrix.com/git/canvas-lab/performance/stall-sensor.html<br> '''Bugzilla:'''<br> https://bugzilla.mozilla.org/show_bug.cgi?id=504640<br> https://bugzilla.mozilla.org/show_bug.cgi?id=482204<br> https://bugzilla.mozilla.org/show_bug.cgi?id=504640 <br></blockquote>  
<blockquote>'''Test Case:'''<br> http://hyper-metrix.com/git/canvas-lab/performance/stall-sensor.html<br> '''Bugzilla:'''<br> https://bugzilla.mozilla.org/show_bug.cgi?id=504640<br> https://bugzilla.mozilla.org/show_bug.cgi?id=482204<br> https://bugzilla.mozilla.org/show_bug.cgi?id=504640 <br></blockquote>  
'''P200) Slow Getting &amp; Setting of Pixel Array''' - Currently pixels are being passed to a JS array. Some kind of abstraction is needed to act as an API to the JS developer, that while acting like an array. is really running at machine level.<br>  
'''P200) Slow Getting &amp; Setting of Pixel Array''' - Currently pixels are being passed to a JS array. Some kind of abstraction is needed to act as an API to the JS developer, that while acting like an array. is really running at machine level.<br>  
<blockquote>'''Test Case:''' to follow<br> '''Bugzilla:''' https://bugzilla.mozilla.org/show_bug.cgi?id=499201<br></blockquote><blockquote></blockquote>  
<blockquote>'''Test Case:''' to follow<br> '''Bugzilla:''' https://bugzilla.mozilla.org/show_bug.cgi?id=499201<br></blockquote><blockquote></blockquote>  
'''P300) Drop Frames''' - Firefox does not appear to have any mechanism by which to drop frames whereas Chrome most certainly does. It is possible that some of the perceived speed in Chrome's Canvas implementation is due to it's ability to drop frames that could not render in time. Ideally this kind of behavior should be switchable as it would not be desired for an application requiring the capture of every single frame across a given range of data, that was intended for post-production, whereas it would be very desirable for games and interactive UI elements.<br>  
'''P300) Drop Frames''' - Firefox does not appear to have any mechanism by which to drop frames whereas Chrome most certainly does. It is possible that some of the perceived speed in Chrome's Canvas implementation is due to it's ability to drop frames that could not render in time. Ideally this kind of behavior should be switchable as it would not be desired for an application requiring the capture of every single frame across a given range of data, that was intended for post-production, whereas it would be very desirable for games and interactive UI elements.<br>  
<blockquote>'''Example:''' http://hyper-metrix.com/processing-js/docs/?page=Drop%20Frames%20and%20For%20Loops%20-%20Chrome%20vs%20FireFox<br> <br></blockquote><blockquote></blockquote>
<blockquote>'''Example:''' http://hyper-metrix.com/processing-js/docs/?page=Drop%20Frames%20and%20For%20Loops%20-%20Chrome%20vs%20FireFox<br> <br></blockquote><blockquote></blockquote>  
 
== '''Bugs:'''  ==
== '''Bugs:'''  ==


The Canvas bugs I found earlier in the year have already been delt with by 3.5. Go Bugzilla!
The Canvas bugs I found earlier in the year have already been delt with by 3.5. Go Bugzilla!  


== <br>'''Feature Requests:<br>'''  ==
== <br>'''Feature Requests:<br>'''  ==
69

edits