LabVIEW

 找回密码
 注册
查看: 1900|回复: 1

[疑问解答] 为何LabVIEW需要显示的控件占用了两倍的数据内存及如何优化

[复制链接]

升级   16%

发表于 2011-1-31 15:47:23 | 显示全部楼层 |阅读模式
USB-6009数据采集卡首发
你好:      发现LabVIEW 需要显示的控件 存储数据时候都会存储2倍的数据内存。
* j3 u/ y9 b% i7 ~1 c8 D$ s0 |  E4 C! [  v
     我们通过一个如下实验验证,我的是LabVIEW2010 f2:2 a. ?* P1 T6 u0 H. {7 U  q6 U
     1. 建立了一个Project,创建一个子VI   CreateData.vi .该子VI创建了一笔40M的数据,并且通过属性节点的方式,赋值给引用对应的控件。( S+ R) b2 M  a+ X+ c
CreateData.png 4 P4 {  q0 {2 m+ c2 z% s" J

% L) B* \9 |  N' m( ]: I  g2.创建Main.vi  放一个显示控件Graph(实验发现别的类型的control结论一样),把Graph的引用作入参存给CreateData.vi
) \# |( l: L/ N; j3 H1 a( n" l. M9 s
  y+ [: i  S4 k$ w  ^ Main.png 5 J8 F/ n) ]% ^: _1 b
; ^$ n$ H2 q& v% Z0 T
3.创建exe main.vi 为入口。
0 p& _4 U8 I8 A" X' L
; q7 r( E% W$ T2 ?当上图CreateData.vi被调用时候是Disable的时候,从任务管理器 看到 Application.exe 占用了30多M的内存。一个Project 里只有一个Main.vi 打成exe后也是大约占30M内存。& n. Q# V* {; c, e
Disable CreateData.png
+ a3 l  w7 M* r; R/ ~6 e3 ~$ v
: s: g# F5 Y1 U) a/ F' k/ S& E. j2 Y4.Main.vi 中Enable CreateData.vi 重新打包,发现如下:$ ?+ q9 c! Y- \& E* ^7 n( A
内存占用了115M=30M+ 40 M+40M;
& Z- f* Q7 R1 k4 d2 y* d# b而赋值给控件的数据只有40M;
+ R; W: C; }2 | EnableCreateData.png * Y$ E" C/ ?6 f- X& G

; i1 n3 {. n: J9 F) s) |. ~. f5 c* t4 _# n# i: N, q
请问为何LabVIEW 的控件存储数据的时候复制了一倍?# I1 q3 ?; F! V5 o: \$ z. O8 s
请问 有没有相关的方法可以优化呢,FYO ,Thanks!, H* |3 n: d# |2 U7 h1 n7 y4 G0 I

Memory Test.rar

173.07 KB, 下载次数: 5, 下载积分: V币 -1

IDAQ-USB-6009数据采集卡

升级   16.03%

发表于 2011-7-9 12:57:07 | 显示全部楼层
在线课堂
找到耗内存的子VI,对其进行优化就行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|无图浏览|手机版|网站地图|虚拟仪器论坛 ( 沪ICP备13044638号-3 )

GMT+8, 2022-6-25 07:10 , Processed in 0.019857 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表