因为之前做的3D程序在一些性能较差的机器上运行时CPU占用率比较高。所以希望在一些配置较差的机器上,不启用3D功能。
现在我考虑了3种方法。
第一是从逻辑上判断,在第一次运行3D程序的时候检查CPU占用率,如果高于某设定值,则修改注册表项,下次启动时读取注册表项,判断是否启用此功能;
第二是直接读取Performance Information Tools里Gaming Graphics的评分值,然后判断是否启用。但是这种方法只能在win7和vista下用,xp没有这个功能,所以可能要否决掉了;
第三是GetDeviceCaps读取显示的Caps,但是参数太多,且很难根据这个做出定量的评分从而进行判断。目前毫无头绪,想请问大牛我的这个功能如何实现比较好。
像GPU-Z这样的软件实现原理是什么?还有评分的原理、标准和算法是什么?
现在我考虑了3种方法。
第一是从逻辑上判断,在第一次运行3D程序的时候检查CPU占用率,如果高于某设定值,则修改注册表项,下次启动时读取注册表项,判断是否启用此功能;
第二是直接读取Performance Information Tools里Gaming Graphics的评分值,然后判断是否启用。但是这种方法只能在win7和vista下用,xp没有这个功能,所以可能要否决掉了;
第三是GetDeviceCaps读取显示的Caps,但是参数太多,且很难根据这个做出定量的评分从而进行判断。目前毫无头绪,想请问大牛我的这个功能如何实现比较好。
像GPU-Z这样的软件实现原理是什么?还有评分的原理、标准和算法是什么?
解决方案 »
- shell扩展,修改文件夹,文件的图标
- 求VC++开发自定义控件的实例
- 如何在mfc中插入一个ico图像
- 各位 大侠,看看这个。。急急。。
- inno setup 创建菜单项的脚本是怎么样的?
- 已知一个窗口的句柄,如何取得该窗口的线程或进程的句柄
- 请对无线通信里的Durkin模型熟悉的达人进来~
- 求教一个demo程序:对话框上三个edit框,程序起来后把焦点置于第一个edit框,然后回车顺次跳动下个edit框,并在三个edit框中循环,解决就
- sdi中如何隐藏菜单条?
- 我在程序里选中了clistctrl的一个不在显示区域里的项,请问如何让他可见呢?
- 越来越觉得.牛B的不是程序员.是编译器.
- 大智慧,通信达软件中实时信息和历史信息中XY轴的提示信息是如何实现的
我也觉得这样更合适,就像第一种思路。
第一次运行的时候,如果检测到CPU占用率高,就通知用户,让用户去选择是否使用。
如果用户选否,就改写注册表。同时提醒用户如何重新启用此功能。
如果选是,就保留。
但是还是希望能了解类似GPU-Z这样的软件的实现原理。