I had a similar problem myself a few years ago. I had only about 2k points
per trace, but I was passing the data along through many objects to extract
measurements. With debug features turned on, VEE saves a copy of the data
on every input pin, so pretty soon I ran out of virtual memory. I could not
turn the debug features off because I needed to use them in development.
What worked for me was to save the data in global variables with names
derived from a time stamp, e.g., "x"+asText(intPart(1000*now())). Then I
could just pass the variable name around with the extracted measurements,
basically just using a pointer.
Depending on how much data you have, and how many objects you have to pass
it through, this may or may not be useful.
Some observations:
1. Turning debug features off could save lots of memory if your data pass
through multiple objects.
2. If you can't turn debug features off, using pointers as described
above, or files as Shawn suggested might help, or try to minimize the
number of objects the data pass through.
3. As Shawn points out, you are dealing with a gross amount of data, just
plotting it will chew up loads of virtual memory, and likely be slow
besides.
4. Given 3, give serious thought to Shawn's suggestion to plot a decimated
(thinned) set of points. On screen display will not show a horizontal
resolution of 2M points. Of course, if you want to be sure to catch narrow
spikes, etc. this will take some intelligent selection of points. If you
want to be able to zoom in to small sections, that is probably even more
tedious.
--
Bill Ossmann
Philips Ultrasound
3000 Minuteman Rd.
Andover, Ma. 01810
phone: 978-659-2692
e-mail: bill.ossmann@philips.com
wsh wsh <wshooa@yahoo.com> wrote on 06/24/2005 07:44:43 PM:
> hi ... i need help
> in my program i capture 12 signals as 2M points array ( each array
> represent a signal ) and try to display them by waveform(time
> display) the problem is the after the 6 display the virtual memory
> (PF) WILL BE FULL so the pc is stoped
> what can i do ......
> Yahoo! Sports
> Rekindle the Rivalries. Sign up for Fantasy Football --- You are
> currently subscribed to vrf as: bill.ossmann@philips.com To
> subscribe send a blank email to "join-vrf@it.lists.it.agilent.com".
> To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.
> com". To send messages to this mailing list, email "vrf@agilent.
> com". If you need help with the mailing list send a message to
> "owner-vrf@it.lists.it.agilent.com".
---
You are currently subscribed to vrf as: rsb@soco.agilent.com
To subscribe send a blank email to "join-vrf@it.lists.it.agilent.com".
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".
To send messages to this mailing list, email "vrf@agilent.com".
If you need help with the mailing list send a message to "owner-vrf@it.lists.it.agilent.com".
per trace, but I was passing the data along through many objects to extract
measurements. With debug features turned on, VEE saves a copy of the data
on every input pin, so pretty soon I ran out of virtual memory. I could not
turn the debug features off because I needed to use them in development.
What worked for me was to save the data in global variables with names
derived from a time stamp, e.g., "x"+asText(intPart(1000*now())). Then I
could just pass the variable name around with the extracted measurements,
basically just using a pointer.
Depending on how much data you have, and how many objects you have to pass
it through, this may or may not be useful.
Some observations:
1. Turning debug features off could save lots of memory if your data pass
through multiple objects.
2. If you can't turn debug features off, using pointers as described
above, or files as Shawn suggested might help, or try to minimize the
number of objects the data pass through.
3. As Shawn points out, you are dealing with a gross amount of data, just
plotting it will chew up loads of virtual memory, and likely be slow
besides.
4. Given 3, give serious thought to Shawn's suggestion to plot a decimated
(thinned) set of points. On screen display will not show a horizontal
resolution of 2M points. Of course, if you want to be sure to catch narrow
spikes, etc. this will take some intelligent selection of points. If you
want to be able to zoom in to small sections, that is probably even more
tedious.
--
Bill Ossmann
Philips Ultrasound
3000 Minuteman Rd.
Andover, Ma. 01810
phone: 978-659-2692
e-mail: bill.ossmann@philips.com
wsh wsh <wshooa@yahoo.com> wrote on 06/24/2005 07:44:43 PM:
> hi ... i need help
> in my program i capture 12 signals as 2M points array ( each array
> represent a signal ) and try to display them by waveform(time
> display) the problem is the after the 6 display the virtual memory
> (PF) WILL BE FULL so the pc is stoped
> what can i do ......
> Yahoo! Sports
> Rekindle the Rivalries. Sign up for Fantasy Football --- You are
> currently subscribed to vrf as: bill.ossmann@philips.com To
> subscribe send a blank email to "join-vrf@it.lists.it.agilent.com".
> To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.
> com". To send messages to this mailing list, email "vrf@agilent.
> com". If you need help with the mailing list send a message to
> "owner-vrf@it.lists.it.agilent.com".
---
You are currently subscribed to vrf as: rsb@soco.agilent.com
To subscribe send a blank email to "join-vrf@it.lists.it.agilent.com".
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".
To send messages to this mailing list, email "vrf@agilent.com".
If you need help with the mailing list send a message to "owner-vrf@it.lists.it.agilent.com".
Git youself a few gross of meg memory or work with a file. Well, it's more
actually. Each point is probably at least 4 bytes so multiply by four. If
they're Real32 multiply by eight. No wonder it's hanging
Yeah, just stick stuff in a file and show little parts of the file at a time
or compress the data by skipping several points in between (like,
anti-interpolate).
Or maybe treat the data as a stream and apply real compression. Any number
of codecs are available through COM, and probably ActiveX as well.
Data compression isn't really my bag, so I can't recommend a good one. For
any time domain waveform a difference compression algo should be pretty good
though.
-SHAWN-
PS - OHH! Aren't there memory content compressors? Remember that several
years ago when memory prices were really out of control? Several fab
explosions in Taiwan or something? Something along those lines might help
enormously with no effort on your part.
PPS - Sorry for top posting. It's just that it's Friday and I don't feel
like quoting! Read the VRF Blog - it's been a hell of a day.
-----Original Message-----
From: wsh wsh [mailto:wshooa@yahoo.com]
Sent: Friday, June 24, 2005 6:45 PM
To: VRF
Subject: [vrf] virtual memory
hi ... i need help
in my program i capture 12 signals as 2M points array ( each array represent
a signal ) and try to display them by waveform(time display) the problem is
the after the 6 display the virtual memory (PF) WILL BE FULL so the pc is
stoped
what can i do ......
Yahoo! Sports
Rekindle the Rivalries. Sign up for Fantasy Football --- You are currently
subscribed to vrf as: shawn@testech-ltd.com To subscribe send a blank email
to "join-vrf@it.lists.it.agilent.com". To unsubscribe send a blank email to
"leave-vrf@it.lists.it.agilent.com". To send messages to this mailing list,
email "vrf@agilent.com". If you need help with the mailing list send a
message to "owner-vrf@it.lists.it.agilent.com".
---
You are currently subscribed to vrf as: rsb@soco.agilent.com
To subscribe send a blank email to "join-vrf@it.lists.it.agilent.com".
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".
To send messages to this mailing list, email "vrf@agilent.com".
If you need help with the mailing list send a message to "owner-vrf@it.lists.it.agilent.com".