很少人会知道 WPF 也可以知道当前的显卡能支持的渲染级别。 根据显卡的不同,包括显存、纹理等的支持是否打到要求,指定渲染级别。
使用 System.Windows.Media.RenderCapability 可以拿到 WPF 的渲染级别
var renderingTier = System.Windows.Media.RenderCapability.Tier >> 16;
因为直接拿到 RenderCapability.Tier 是不能用的,参见WPF 渲染级别 (Tier)
通过 renderingTier 的值就可以判断当前显卡渲染级别
-
0 没有显卡加速功能
-
1 只有部分有显卡加速
-
2 所有功能由显卡加速
可以通过这个判断方式决定是否加载某些动画。
但是不能通过这个方式判断当前是否存在独立显卡,因为很多时候有集显都是返回 2 ,大家都知道,集显的性能一般都不是很好。