Если вы еще этого не сделали, вам следует взглянуть на инструменты производительности WPF: http://msdn.microsoft.com/en-us/library/aa969767.aspx. Вы сможете получить представление о том, где находятся настоящие узкие места, что каждый раз перерисовывается, инамного больше.
Мне приходилось сталкиваться с проблемой масштабирования WPF для некоторых 3D-моделей.Хотя я не слишком уверен насчет двухмерных эквивалентных терминов, совет все же может быть применим.
WPF имеет достаточно преимуществ, чтобы довольно сильно постараться оптимизировать его для вашего варианта использования, вместо того, чтобы рассматривать какую-то альтернативную архитектуру.Я думаю, для меня было меньше работы, чтобы понять и обойти проблемы производительности, чем иметь дело с какой-то другой структурой.
В конце концов, для меня была большая задача объединить модели и визуальные эффекты.Вместо того, чтобы иметь множество маленьких моделей, каждая из которых может быть протестирована на удар, со своим собственным цветом и т. Д., Я собираю их в большие модели, которые представляют множество компонентов.Затем я занимаюсь тестированием на удар больших моделей, чтобы еще больше уточнить выбор и решить, какой из компонентов на самом деле должен быть «хит».Оттуда, вместо изменения цвета всей совокупной модели, я накладываю меньшую модель, чтобы представить выборку.Я думаю, вы поняли ...
Итак, вам нужно выяснить, какая абстрактная часть в вашем чертеже плохо масштабируется - может быть, число DrawingVisuals или, может быть, какой-то другой UIElement, который вы используете, а затем попытаться объединитьэто.