读书人

WINCE 画曲线波形的耗时特别长怎么处

发布时间: 2013-01-23 10:44:49 作者: rapoo

WINCE 画曲线波形的耗时特别长,怎么办
我在WINCE 5.0自己建了个坐标系,更新坐标系的时候,如果没有点数据,则只更新XY坐标轴,如果有数据,就绘制波形曲线,数据大概有6000个点,发现绘制的时候特别慢,大概要耗时2-4秒,样子,为什么会这么慢,能提高速度吗?如果改成WINCE 6.0速度会快吗?如果只更新XY轴坐标是一瞬间的如下面的图的绿色波形,大概有6000个点组成,白颜色的坐标轴绘制起来瞬间就好了
WINCE 画曲线波形的耗时特别长,怎么处理
[解决办法]
GetTickCount也可以到MS级了,你自己估的可是S级,
80%是代码的问题
不测光想是搞不出来的
[解决办法]
代码问题,我画6w多个点才不到100ms(不算画坐标轴)
[解决办法]
vb看不懂,但是运算量比较大到时,很多地方都没有优化。
[解决办法]
很抱歉不 VB 的程式
15L 的程式不知 LZ 在 PC 上跑的速度如何, CPU 越快, 程式就越可以, 若 CPU Hardware 不支援 floating point, 程式就要考是否可能全用 integer , 像 line 8 & 9 就整合 For i = 0 To (UBound(RecDataArr) - 23), for loop 中的 ReDim 就考是否可以用的不花 CPU time 的方式到相同目的 (譬如在 for loop 外就宣告一足大的 array) 等. 基本上, 很直的程式法, 行效率都不太高.

建 LZ 程式重到 VB forum 去找如何 Optimize 的解答, 至於的部份, if f(x) is continuous, 且幕 X-axis 解析度小於料, 只要 X-axis pixel resolution 料即可, 眼睛是看不出差的, 且可短 (x pixel)/(data count), 若6000料在 800 pixel 的幕, 只要 800/6000 = 1/7 的.

Paul, Chao @ Tecware

读书人网 >WinCE

热点推荐