[Qt-interest] real time strip chart
Atlant Schmidt
aschmidt at dekaresearch.com
Mon May 23 15:37:56 CEST 2011
Jason:
> Don't EEGs and the like use a simple modulus X position update?
They vary. The ones that try to simulate the old long-persistence phosphor
CRT screens certainly do what you speak of. Others try to simulate the
true paper strip chart.
Textronix digital oscilloscopes often offer both modes where traces taken
at very slow timebase settings are displayed as a moving strip chart (so-
called "roll mode") until the trigger occurs and the display freezes but
faster timebase settings are displayed as a simulation of a conventional
(or even variable-persistence) CRT; both modes are optimizing for the
human's ability to take in and process data.
The strip-chart presentation is often better in the face of non-recurring
data (where you're looking for trends) whereas the conventional CRT-like
display is often better for periodic/recurring data (where you're often looking
for the differences from waveform to waveform).
> You might be better off erasing all data points (1 pixel per x) and writing
> the new one.
That's a clever idea and our original questioner should definitely benchmark
that; depending on how many traces are being drawn simultaneously, I
wouldn't be surprised if that's the winner!
Atlant
________________________________
From: Jason H [mailto:scorp1us at yahoo.com]
Sent: Monday, May 23, 2011 09:28
To: Atlant Schmidt; Syam Krishnan; qt-interest at qt.nokia.com
Subject: Re: [Qt-interest] real time strip chart
Don't EEGs and the like use a simple modulus X position update? That is,
Starting with 00000:
10000
12000
12300
12340
12345
62345
67345...
This simple modulus means you only need to erase and set one pixel or memory value at a time. This is why it has been used for so long. (Plus, it works well with a CRT)
Unfortunately, if you are not hardware accelerated, scrolling a window could take a decent amount of CPU. You might be better off erasing all data points (1 pixel per x) and writing the new one. This would be like erasing your line - just the line, and plotting a new one. If you can store each value as a discrete pixel (no zoom) this should work well. If you have to draw lines, then you will use a lot more CPU. It is shocking the amount of processor a line takes on a CPU/GPU. If you need zoom, you could store a couple lines corresponding to discrete zoom values.
________________________________
This e-mail and the information, including any attachments, it contains are intended to be a confidential communication only to the person or entity to whom it is addressed and may contain information that is privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please immediately notify the sender and destroy the original message.
Thank you.
Please consider the environment before printing this email.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20110523/e2d633c3/attachment.html
More information about the Qt-interest-old
mailing list