0.9 will be coming out in a few days and I’ve submitted my work for this release as of last night for review
Some big changes are going into this release related to PImage objects
I changed the way a PImage holds its pixel array internally to use an ImageData object instead of an array of ints. This means a ton of expensive overhead math is eliminated when drawing frames in a loop and manipulating pixels
Initial tests on minefield and chrome showed sketch’s with animation or pixel by pixel manipulations in a loop were between double and triple there previous speeds. My resize loop test used to run in chrome at about 50-70fps it now runs at 200-240fps.
I did some reviews this release as well for Anna’s hue, saturation, and brightness fixes. I also wrote a few new tests and rewrote some old ones to test the new color() implementation to make sure it worked ok with PImage stuff.
One more release to go !
Sitting in the Boston airport waiting for my flight so I decided to put up a post on this weekends get together in south Boston.
For the first time a group of about 20 individuals from the Processing.js development team got together in Boston with some professionals from all over to meet and discuss Processing/Processing.js. I got a chance to meet a ton of really smart people behind the Processing project and the technologies that support it.
Friday evening I got to sit in on a talk with a panel of professionals from all different companies and organizations. Al MacDonald led the discussion which included Ben Fry who was one of the original creators of the Processing project, John Resig who started the Processing.js project, Chris Blizzard from Mozilla who is chief evangelist, Dave Humphrey my professor of open source at Seneca College, and Corban Brook from University of Waterloo.
Saturday we held a group workshop to brainstorm ways to improve performance in everything from Processing.js to Mozilla’s canvas implementation to the community learning experience for newcomers. The objective is to get sketches running in JS as fast as they run in java applets in the browser through native processing. We made some major improvements and 0.9 and 1.0 is when those changes should start emerging.
Sunday we wrapped things up with more bug fixes and improvements. I worked with Anna on an IDE for processing.js that is built in Bespin. We implemented syntax highlighting and passed it on to Al to pretty it up for use on the PJS website.
Overall it was an awesome weekend and a huge thanks goes out to Bocoup for hosting it and for all who came to present and help out.
0.8 is released and since I haven’t had time to blog much lately I’ll include a summary of the progress I made in 0.8 and what’s coming up in 0.9
In 0.8 I added misc fake-dom.js fixes for the parser test harness, I also added a few PImage bug fixes as well.
The biggest thing that came into 0.8 was copy() and blend() implementations and their PImage prototypes.
I ported over the code almost directly from processing’s implementation with the exception of the nearest neighbor code.
going to get some coding done tomorrow with some really awesome people here in Boston. Hopefully some nice performance increases will be coming soon.