Electronic75
2006-07-06 07:27:02 UTC
Hello, I have an application that receives data from an instrument and plots
it in form of an X vs. Y plot. Amount of data which is stored in a vector in
ram is relatively high (usually about a few millions points). The problem
that I have is whenever window needs update it takes considerable time for
window to redraw(even on a very fast computer) and it can be frustrating for
user. Data drawing function first calculates the location of point on screen
then uses pDC->LineTo() and pDC->MoveTo() functions to draw the plot. Well,
because of amount of data many points will overlap. When I modified the
algorithm so that it first determines whether a point overlaps other points
and if it does, skip this point then performance improved but still not
satisfactory. My question is, whether I should use DirectX for this
application(which I think will be very difficult to learn) or it is possible
to get a satisfactory result with modifying drawing algorithm. Some programs
like LabView have a very smooth drawing with no blinking even with huge
amount of data. I wonder whether they use DirectX. Another question does it
make a significant difference if I write this application using ATL rather
than MFC. Thank you in advance.
it in form of an X vs. Y plot. Amount of data which is stored in a vector in
ram is relatively high (usually about a few millions points). The problem
that I have is whenever window needs update it takes considerable time for
window to redraw(even on a very fast computer) and it can be frustrating for
user. Data drawing function first calculates the location of point on screen
then uses pDC->LineTo() and pDC->MoveTo() functions to draw the plot. Well,
because of amount of data many points will overlap. When I modified the
algorithm so that it first determines whether a point overlaps other points
and if it does, skip this point then performance improved but still not
satisfactory. My question is, whether I should use DirectX for this
application(which I think will be very difficult to learn) or it is possible
to get a satisfactory result with modifying drawing algorithm. Some programs
like LabView have a very smooth drawing with no blinking even with huge
amount of data. I wonder whether they use DirectX. Another question does it
make a significant difference if I write this application using ATL rather
than MFC. Thank you in advance.