There is a need to visualize large quantity of 2d graphic objects (draw some schema of complex structure) using .NET framework - for example 10-20 thousand primitives on one canvas. Assume we have respective hardware - powerful server PC with multi-core CPU, huge amount of RAM and some recent videocard. According to books and MSDN the solution is to use WPF with its hardware acceleration, particularly Drawings subsystem. I've implemented simple scenario with GeometryDrawings and VisualHost and it is pretty decent, but there is a problem - visualized objects also need to have changing state (i.e. quickly change color without redrawing) and accept mouse events (click, drag'n'drop) which Freezables doesn't support as they are no Framework Elements. Any ideas how to solve the problem most efficiently? Our graphical object looks very much alike framework-supplied Shape and its descendants, but it surely won't match performance requirements. There is a need to visualize large quantity of