winforms - c#:WindowsForms - performance optimization when redrawing bitmap -
in program have picture box, containing bitmap.(300x300 35kb .png file)
if 2 variables(x/z coord) changed, draw new circle every second new position accordingly - timer runs in background, invoking method.
void drawellipse() { // retrieve image. bchamber = new bitmap(global::project.properties.resources.drivechamber1); gchamber = graphics.fromimage(bchamber); gchamber.fillellipse(brushchamber, virtualviewx(), virtualviewy(), 10, 10); pictureboxdriveview.image = bchamber; } now i'm looking ways optimize performance. redrawing pic every 0.2s e.g. slows program much, cant else. need more fluent movement of circle, can imagine how laggs 1000ms refresh rate.
is there better way this, loading whole bitmap every time?
use controls way intended.
- do not redraw bitmap yourself.
- just load 1x in picturebox.
- handle paint event of picturebox draw ellipse
- invalidate picturebox whenever coords change.
Comments
Post a Comment