"Rune Fergestad" <
XXXX@XXXXX.COM>writes
Quote
Answer to RandomAccess' Q:
With respect to the opening of a new window, would this window also
update
in real-time along with the main window? Also, how many of these
additional windows can be popped up at any one time?
Yes, the plan was to update this window with realtime data as well. I
picture a graph (line or bar) which represents a certain value from the
start till the present time. I don't think it will be necessary with more
than one such window at the time.
Ok. You haven't mentioned if the additional window will be modal or not,
so let's assume it isn't and you still want the user to interactively work
in the main window while the second window is displayed also.
Such a situation may change things "slightly" (depending on your point of
view).
If you intend the other window to display real-time data simultaneously,
and if you also want to keep the main window's GUI fluid regarding user
input, then you may have to use multi-threading - but to be honest I am not
entirely sure about this at this time.
What I am trying to say is this. If you want to be able to click on an
object and do something interactively with it (ie move it around) and at the
same time update other windows, you may experience "stalls" or jerkiness in
one or more windows.
To keep everything as fluid as possible, ideally you will want to update
different windows in their own thread so they don't interfere with user
interactive performance and screen update timing in your main window.
I've been playing around with some video rendering, with user interactive
overlay. Meaning a video plays and the user can drag objects around the
video while it is playing. Since I use GDI only, and apply various effects,
the performance pretty much sucks once the display size gets too big even
though I always render everything in a single pass.
So, from this experience, I am wondering what the sample rate of the data
is, and therefore what update rate you are expecting for the display and at
what maximum resolution you expect to render the output at.
Also, an alternative solution I thought of is to render everything on the
same display. What you could do is display the additional data (that would
normally appear in a second window) as a translucent overlay over the main
window display, and still allow users to interact with the data that is
"behind" the overlay.
This can be really effective if done properly, because it is easy to turn
the overlay data on and off and it is just as easy for the user to control
the amount of transarency so they get a display output that suits them best.
Best regards