请教:为什么程序在不同机器上的速度不同

nagofun 2010-02-08 03:39:05
如题
一个图形的程序,在OnTimer中用OpenGL绘图,在我的电脑上(笔记本,无独立显卡)运行流畅,在别人的机器上奇卡无比,这是硬件的原因吗?大家觉得应该如何解决以适应不同的机器呢?
谢谢!
...全文
129 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
验证码识别 2010-03-08
  • 打赏
  • 举报
回复
up




up
linglongyouzhi 2010-03-08
  • 打赏
  • 举报
回复
是不是你的编译器对你的显卡做了太多优化
试着在跑得慢的机器上在编译一下看看结果是不是还是那样
辰岡墨竹 2010-03-07
  • 打赏
  • 举报
回复
是不是你在程序里用了对方的显卡不支持的OpenGL版本的功能?
kevinmartin 2010-03-07
  • 打赏
  • 举报
回复
我碰到过这种情况,如果硬件差别不大的话,应该是OpenGL的版本问题
用户 昵称 2010-02-28
  • 打赏
  • 举报
回复
感觉是硬件原因,俺的程序在线程使用waitforsingleobject,wait时间为1ms,在不同的机器上速度表现差异很大,还有使用socket发送小包来模拟串行通讯,每个字节导致两个socket包,在老机器上很快,在新机器上就慢,这肯定是硬件差异。
ls2141 2010-02-24
  • 打赏
  • 举报
回复
多换几台机器看看
。。。
eoenetcom 2010-02-20
  • 打赏
  • 举报
回复
不会这样的吧,我没有遇到这情况的
leechrockgames 2010-02-08
  • 打赏
  • 举报
回复
DING.有可以是机器帖速问题
wltg2001 2010-02-08
  • 打赏
  • 举报
回复
应该和硬件有关吧,不一定是配置,可以和显卡驱动之类的也有关系
kevinmartin 2010-02-08
  • 打赏
  • 举报
回复
一般来说OpenGL是硬件无关的,但是你可能使用了一些专门针对不同显卡使用的函数,比如有些函数只能在N卡上使用等。尽量避免这种函数就会避免硬件不同带来的影响;

其次,我也看到很多人喜欢用MFC的消息机制中,尤其是在OnDraw中绘图,这个我不建议,最好在自己的线程中处理,然后在线程中再单独处理消息,直接在消息循环中绘图。

Windows的OnTimer有一个问题,就是OnTimer的速度是有限制的,Windows每秒钟最多产生18个多时钟,所以你的程序在再NB的电脑上,也不会超过19帧。而直接写在消息循环中的话,机器nb了后帧率可以达到很高。你可以通过时间计算控制最高帧速。比如说上次绘制和这次绘制之间不到10毫秒就休息到了10毫秒再绘制,这样最高帧率可以达到100帧。
lsvine 2010-02-08
  • 打赏
  • 举报
回复
OpenGL当然和硬件相关了 要看你的显卡支持不支持 当然 还要看用的驱动对不对
WizardK 2010-02-08
  • 打赏
  • 举报
回复
写出推荐配置,软件的设计可能是附带有硬件要求的。

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧