很少人会知道 WPF 也可以知道当前的显卡能支持的渲染级别。 根据显卡的不同,包括显存、纹理等的支持是否打到要求,指定渲染级别。
使用 System.Windows.Media.RenderCapability 可以拿到 WPF 的渲染级别
var renderingTier = System.Windows.Media.RenderCapability.Tier >> 16;
因为直接拿到 RenderCapability.Tier 是不能用的,参见WPF 渲染级别 (Tier)
通过 renderingTier 的值就可以判断当前显卡渲染级别
-
0 没有显卡加速功能
-
1 只有部分有显卡加速
-
2 所有功能由显卡加速
可以通过这个判断方式决定是否加载某些动画。
但是不能通过这个方式判断当前是否存在独立显卡,因为很多时候有集显都是返回 2 ,大家都知道,集显的性能一般都不是很好。
本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/WPF-%E6%B8%B2%E6%9F%93%E7%BA%A7%E5%88%AB.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 lindexi (包含链接: https://dotnet-campus.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。