VC++应用程序的奇怪问题——程序在不同电脑上的运行结果不同??

时间:2022-02-27 19:56:15
我用VC++写了一个应用程序,用来实时显示CAN总线上的数据,当CAN总线上的数据变化时,在我的电脑上显示的结果是实时的,变化得很快,可是把程序的release版本拷在别人的电脑上运行,数据变化时的值显示的特别慢,至少要比我的慢3秒以上,这是怎么回事啊,好困惑啊!!求高手帮忙!!
我用的是VS2010。

15 个解决方案

#1


1.有没有用其他控件,而其他机子上没有装
2.机子的配置和设置的差异
3.慢3秒是什么概念?数据无错慢3秒还是数据错了还慢3秒?

#2


引用 1 楼 echoyin59 的回复:
1.有没有用其他控件,而其他机子上没有装
2.机子的配置和设置的差异
3.慢3秒是什么概念?数据无错慢3秒还是数据错了还慢3秒?

1.我就是用简单的编辑框来显示总线上的数据,没什么别的控件了,不过我用的编辑框挺多的,而且是一一刷新的。
2.机子的设置方面我不是很清楚了
3.数据应该是对的,我设置的是隔1秒,刷新一下界面上的数据,在我的电脑上刷新的很好,比方说电压值,改变总线上的电压值时界面很快就会显示变化的值,在别人的电脑上显示的特别慢,但是数据是对的,就是很慢很慢,根本起不到实时显示的作用似的。
很困惑!

#3


是不是机器性能,以及你程序运行的性能问题

#4


你的数据从哪来?服务器?
可能是发出数据时就慢了呢
控件多到时不要紧,不过现实超过1M的字符就可能会慢

#5


就目前的机器配置,应该不是问题
即使奔四都没有问题

#6


我的数据是采集到的,硬件往总线上发数据,之后我直接读总线上的数据,在我的电脑上运行程序的时候,CPU占用率差不多都要30%了,在别人的电脑上运行的时候只占用4%左右,不知道怎么回事,我的内存是2G的,我读的数据也就最多10帧,数据量也不大吧??

#7


有没有多线程??操作系统版本是否一样?
会不会在别的电脑上读的时候成功率不够高?
写日志调试一下试试看

#8


引用 7 楼 chengbar 的回复:
有没有多线程??操作系统版本是否一样?
会不会在别的电脑上读的时候成功率不够高?
写日志调试一下试试看

恩,是多线程的,我的是Vista,分别用XP、Win7的试了,只有我的运行的挺好的,其他两个都不行,我先调试一下看看。

#9


数据的正确性如何?机器配置如何?是在静态库中使用的DLL还是什么?

#10


是不是线程优先级的问题?

#11


1、跟用多个编辑框应该没关系。

2、程序直接移值到其他测试机器调试一下吧。

#12


release版本用的是静态库,我用了两个线程,一个读数据,一个显示数据,之间用Event进行线程同步,我把大家提供的思路都调试看看~~

#13


“别人的电脑”是一台还是几台?你画曲线显示的?用多缓冲?显卡不一样吧?

#14


我用自己的电脑写完程序后,用专用的测试电脑(XP)试了,感觉反应很慢,之后拿同学的电脑又试了下,感觉还是很慢,今天用来测试的系统别被别人占用了,没测成555

#15


程序无缘无故又好了,不知道怎么回事,先结贴吧,再看一下测试过程,找找原因。真奇怪啊!

#1


1.有没有用其他控件,而其他机子上没有装
2.机子的配置和设置的差异
3.慢3秒是什么概念?数据无错慢3秒还是数据错了还慢3秒?

#2


引用 1 楼 echoyin59 的回复:
1.有没有用其他控件,而其他机子上没有装
2.机子的配置和设置的差异
3.慢3秒是什么概念?数据无错慢3秒还是数据错了还慢3秒?

1.我就是用简单的编辑框来显示总线上的数据,没什么别的控件了,不过我用的编辑框挺多的,而且是一一刷新的。
2.机子的设置方面我不是很清楚了
3.数据应该是对的,我设置的是隔1秒,刷新一下界面上的数据,在我的电脑上刷新的很好,比方说电压值,改变总线上的电压值时界面很快就会显示变化的值,在别人的电脑上显示的特别慢,但是数据是对的,就是很慢很慢,根本起不到实时显示的作用似的。
很困惑!

#3


是不是机器性能,以及你程序运行的性能问题

#4


你的数据从哪来?服务器?
可能是发出数据时就慢了呢
控件多到时不要紧,不过现实超过1M的字符就可能会慢

#5


就目前的机器配置,应该不是问题
即使奔四都没有问题

#6


我的数据是采集到的,硬件往总线上发数据,之后我直接读总线上的数据,在我的电脑上运行程序的时候,CPU占用率差不多都要30%了,在别人的电脑上运行的时候只占用4%左右,不知道怎么回事,我的内存是2G的,我读的数据也就最多10帧,数据量也不大吧??

#7


有没有多线程??操作系统版本是否一样?
会不会在别的电脑上读的时候成功率不够高?
写日志调试一下试试看

#8


引用 7 楼 chengbar 的回复:
有没有多线程??操作系统版本是否一样?
会不会在别的电脑上读的时候成功率不够高?
写日志调试一下试试看

恩,是多线程的,我的是Vista,分别用XP、Win7的试了,只有我的运行的挺好的,其他两个都不行,我先调试一下看看。

#9


数据的正确性如何?机器配置如何?是在静态库中使用的DLL还是什么?

#10


是不是线程优先级的问题?

#11


1、跟用多个编辑框应该没关系。

2、程序直接移值到其他测试机器调试一下吧。

#12


release版本用的是静态库,我用了两个线程,一个读数据,一个显示数据,之间用Event进行线程同步,我把大家提供的思路都调试看看~~

#13


“别人的电脑”是一台还是几台?你画曲线显示的?用多缓冲?显卡不一样吧?

#14


我用自己的电脑写完程序后,用专用的测试电脑(XP)试了,感觉反应很慢,之后拿同学的电脑又试了下,感觉还是很慢,今天用来测试的系统别被别人占用了,没测成555

#15


程序无缘无故又好了,不知道怎么回事,先结贴吧,再看一下测试过程,找找原因。真奇怪啊!