I am trying to create sort of a radar. Radar is VisualCollection that consists of 360 DrawingVisual\'s (which represent radar beams). Radar is placed on Viewbox.
<
For smooth WPF animations you should make use of the CompositionTarget.Rendering event.
No need for a thread or messing with the dispatcher. The event will automatically be fired before each new frame, similar to HTML's requestAnimationFrame()
.
In the event update your WPF scene and you're done!
There is a complete example available on MSDN.
while (Environment.TickCount - beginTime < delay) { }
delay += deltaDelay;
The sequence above blocks the thread. Use instead "await Task.Delay(...)" which doesn't block the thread like its counterpart Thread.Sleep(...).
You can check some graphics bottleneck using the WPF Performance Suite:
http://msdn.microsoft.com/es-es/library/aa969767(v=vs.110).aspx
Perforator is the tool that will show you performance issues. Maybe you are using a low performance VGA card?