SuperAPI AI 工具集

rendering-wpf-architecture

测试与质量

查看项目

更新于 10-15 20:12

技能介绍

用途:解释 WPF 渲染管线与硬件加速分层,帮助排查布局问题、优化渲染性能。

主要能力:说明渲染流程为用户输入→属性变更→InvalidateXxx()→Measure(确定 DesiredSize)→Arrange(确定 ActualSize/Position)→Render(OnRender()/DrawingContext)→合成树→MILCore→DirectX→GPU。列出失效方法:InvalidateMeasure() 触发 Measure+Arrange+Render(尺寸可能变化时用)、InvalidateArrange() 触发 Arrange+Render(位置可能变化时用)、InvalidateVisual() 仅触发 Render(外观变化时用)。列出 FrameworkPropertyMetadata 标志:AffectsMeasure、AffectsArrange、AffectsRender、AffectsParentMeasure、AffectsParentArrange。给出自定义控件布局示例,重写 MeasureOverride、ArrangeOverride、OnRender。

硬件加速:渲染分层 Tier 0(GPU 内存 <30MB,软件渲染)、Tier 1(30-120MB,部分硬件,无 PS 2.0)、Tier 2(≥120MB,完全硬件加速),可用 int tier = RenderCapability.Tier >> 16; 读取。软件回退条件包括 GPU 内存不足、纹理大于 8192px、远程桌面(RDP)会话、Window 上 AllowsTransparency="True"、使用旧版 BitmapEffect。

优化与用法:RenderOptions 可设置 BitmapScalingMode、EdgeMode、CachingHint 及缓存失效阈值;批量更新可用 using (Dispatcher.DisableProcessing()) 合并多次布局。常见问题与对策:滚动慢(深层可视化树→虚拟化)、布局抖动(频繁 InvalidateMeasure→批量更新)、启动慢(复杂 Grid→简化布局)、内存增长(BitmapEffect→改用 Effect 类)。分层适配渲染可按 tier 关闭昂贵效果、动画或简化视觉。

限制:资料未提供该技能的具体安装命令、运行环境要求、收费与授权信息,也未说明其与 Claude Code 的集成方式,这些暂未提供。