用途:该技能提供 WPF 高性能渲染技术,用于在大量图形、像素操作和实时动画场景下替代常规 Shape 元素,提升渲染效率。
主要能力:
- DrawingVisual:轻量视觉对象,无布局开销,适合 1K-100K 图形,比 Shape 快 10-50 倍。需重写 VisualChildrenCount 与 GetVisualChild,并对 Brush/Pen 调用 Freeze(),只读路径用 StreamGeometry 替代 PathGeometry。
- WriteableBitmap:直接像素操作,适合热力图等原始像素场景。需在 .csproj 启用 <AllowUnsafeBlocks>true</AllowUnsafeBlocks>,用 AddDirtyRect 做局部更新,格式为 Bgra32(蓝绿红透明度顺序)。
- CompositionTarget.Rendering:逐帧回调,适合游戏循环与实时动画,约 60 FPS。需通过 RenderingTime 跳过重复帧,并在 Unloaded 事件中取消订阅以防内存泄漏。
- BitmapCache:GPU 纹理缓存,适合复杂但静态的视觉,如变换动画、复杂 PathGeometry;不适用于频繁变化内容或简单形状。
性能参考:10K 点下 Shape 约 500ms,DrawingVisual 约 20ms,WriteableBitmap(托管)约 5ms,WriteableBitmap(unsafe)约 1ms。
限制:资料未提供安装命令、收费、平台要求等细节;具体实现模式可参考其 reference 目录下的进阶文档。