Bubblemark
I might be late to the party on this one, but someone sent this link around at work today and it’s definitely worth sharing. Alexey Gavrilov has rebuilt the same animation/mini-app in all of the major RIA platforms that are in use today (DHTML, Flash, WPF, Silverlight, etc.) and published them for your analysis and viewing pleasure. He’s also publish the perf results that he got when running the app in the various platforms. His results were very different than what I saw on my machine, but still very interesting. The results page also has a good (albeit long) discussion of the results that’s a worthwhile read.
UPDATE: I don’t know how he’s calculating frames-per-second, but I’m getting outrageous numbers on the Silverlight 1.1 (CLR) version of the test. Results are in the range 500-600 fps which, of course, far exceeds the capabilities of my 60hz laptop monitor. Is this a fluke on my machine or is everyone getting those kinds of results?
August 16th, 2007 at 12:30 pm
Frames per second are calculated as number of frames the framework rendered per second. Here is how it works — I throw the requests to re-calculate the scene and update the screen using the timer with 0 delay and count how many of these were actually completed per second. Generally frame buffer updates are not synchronized with your screen refresh rate so you could easily get FPS number higher than it. And yes, Silverlight CLR is very fast although the latest version of the code seems to try to grab more than it can have (especially noticeable if you set number of balls to some high number). I should probably revert it to the version which included 0.001 delay between frames.
August 16th, 2007 at 12:33 pm
I didn’t get quite that high, but still got 250FPS on Silverlight CLR on my single core 3.4ghz.
I was gettin about 90-100FPS the first time I checked, but I guess Microsoft gave him some optimizations to it that made it 2x faster.
Ironic how it gets better perfomance than the full HW accelerated WPF but I found an article that seemed explain that: http://channel9.msdn.com/ShowPost.aspx?PostID=306991
August 16th, 2007 at 1:27 pm
I’m also seeing those FPS figures. Assuming Silverlight uses DirectX, as WPF does, then it can optionally sync to the refresh rate of your monitor or not.