M
mind_the_gap
Hi there,
in my application I visualize a lot of data which often takes a
moment (like 4 seconds in some cases). For drawing everything I have
overriden the OnPaint-Method of a control. In this method I call all
the parts of the app with the graphics object and other stuff as
parameters to let the parts handle their drawing by themselfs.
Now I often use InvalidateRegion a lot to invalidate only parts of
everything. This works fine in a sense of refreshing only the region
on sceen. Under the hood it still recalculates everything (at least in
some cases - if applicable some image buffer is hold by the different
parts). It would be much better to recalculate only the parts which
are actually invalidated and to BitBlt (I guess thats used by
DrawImage, isn't it?) only the regions that are invalidated.
But how to get the information in the drawing routine? I did not found
any property that tells the current OnPaint-Call which regions to
redraw. Have you any suggestions on how to get this information?
in my application I visualize a lot of data which often takes a
moment (like 4 seconds in some cases). For drawing everything I have
overriden the OnPaint-Method of a control. In this method I call all
the parts of the app with the graphics object and other stuff as
parameters to let the parts handle their drawing by themselfs.
Now I often use InvalidateRegion a lot to invalidate only parts of
everything. This works fine in a sense of refreshing only the region
on sceen. Under the hood it still recalculates everything (at least in
some cases - if applicable some image buffer is hold by the different
parts). It would be much better to recalculate only the parts which
are actually invalidated and to BitBlt (I guess thats used by
DrawImage, isn't it?) only the regions that are invalidated.
But how to get the information in the drawing routine? I did not found
any property that tells the current OnPaint-Call which regions to
redraw. Have you any suggestions on how to get this information?