Я хочу рендерить множество кругов или мелкую графику либо в Silverlight, либо в WPF (около 1000-10000) как можно быстрее и чаще. Если мне нужно перейти на DX или OGL, это нормально, но мне интересно сначала сделать это в любой из этих двух платформ (читай: нормально, если ответ только для WPF или только для Silverlight). Кроме того, если есть способ получить доступ к DX через WPF и выполнить рендеринг на поверхности таким образом, меня это тоже заинтересует.
Итак, как быстрее всего нарисовать круг? Они могут быть настолько простыми, насколько это необходимо, но у них должен быть радиус. В настоящее время я использую DrawingVisual и команду DrawingContext.DrawEllipse () для каждого круга, затем визуализирую визуал в RenderTargetBItmap, но он становится очень медленным по мере увеличения количества кругов.
Кстати, эти круги перемещаются в каждом кадре, поэтому кэширование на самом деле не вариант, если вы не собираетесь предлагать кэширование отдельных кругов. , , Но их размеры динамичны, поэтому я не уверен, что это отличный подход.