On my system the preview 'shimmers'/'flickers'.  I wondered if it might benefit from double buffering, so I took a shot.  Unfortunately, I don't know anything about DX, so there's probably a way better way to do this.. I've seen mention of an hwnd render target that is always double buffered and also some DX3D 'swap chain' thingee... I didn't know how to do either of them, so I took the dumb way out.

This change simply creates a local, temp, CompatibleRenderTarget that is a bitmap.  Most of the rendering uses this local (rt).  When just about done we get the bitmap out of rt and draw it on the real render target.  On my system the preview looks nice and smooth and seems only a little slower (maybe 10%, but the stats flickered too much before to really be sure).

I also tweaked the stats reporting to be a little more self contained and to make the average and max use about a 5 second window (was 50 sec).

Let me know what you think?

PS: I added a 'using' so the diff looks worse than it really is if you are looking at the GitHub diff (Tortoise shows id fairly well).
Fix memory leak in preview editor.
Merge pull request #42 from sall/master

Merge from sall/vixen
Add context menu function to add effects at the mouse position. Also allow the start time and duration to be manually set for quick precision adjustments. Groundwork for more context sensitive stuff.
Temporarily remove two projects from Solution that cause issues since we dont use them any longer
Fixed the combiner code...   to properly account for level changes...
Add logging to IntentNodeCollection
Remove extra color validity checks on the color getters and only do them if the effect is dirty.
Speed up initial load of system rows in editor by turning off the Layout events that are fired for every element and row that is added,  instead fire the layout routine after all the rows have been added to the form.
Merge remote-tracking branch 'remotes/gizmohd/master'
Merge remote-tracking branch 'remotes/billlutton/dbuf'
Fixed issues with Wipe Effect where it is changed from default duration

Number of pulses was allowed to be set to 0 which would cause a divide
by 0 exception.
Merge pull request #43 from sall/master

Merge from sall/vixen
Somehow this creeped back in... and when the editor closes an exception is thrown
Change Configuration manager
Additional Memory adjustments
Save relative path as well as fullpath, so if the user moves their show, so long as its in the same relative location the audio file will load.
Create a abstract method that is called when Targetnodes change.Effects can use this to do some sanity checking or setup work like validate colors for the nodes underneath it. This lets all the color property work happen right when it has new nodes instead of waiting until rendered. Eliminates having the need for null or black colors to determine a new effect. Frees the color/colorgradient getter from processing a bunch of logic that slows things down.Fixed up all effects to implement this method. Those that need to do nothing just have empty implementations.
Fix unneeded dispose causing the editor to crash on closing.
Fire off rendering of single elements ahead of the queue so people can work on them while other rendering catches up.