因为之前做的3D程序在一些性能较差的机器上运行时CPU占用率比较高。所以希望在一些配置较差的机器上,不启用3D功能。
现在我考虑了3种方法。
第一是从逻辑上判断,在第一次运行3D程序的时候检查CPU占用率,如果高于某设定值,则修改注册表项,下次启动时读取注册表项,判断是否启用此功能;
第二是直接读取Performance Information Tools里Gaming Graphics的评分值,然后判断是否启用。但是这种方法只能在win7和vista下用,xp没有这个功能,所以可能要否决掉了;
第三是GetDeviceCaps读取显示的Caps,但是参数太多,且很难根据这个做出定量的评分从而进行判断。目前毫无头绪,想请问大牛我的这个功能如何实现比较好。
像GPU-Z这样的软件实现原理是什么?还有评分的原理、标准和算法是什么?