I remembered that Abiathar switched to double-buffered graphics back even before it had the notion of a "plane" (when every render pass was done in the Paint method of that panel). I thought that doing that might no longer be necessary since it no longer has to rerender every plane to update the screen, so I added a configuration option to disable double-bufferedness.
It turns out that double buffering is still necessary; turning it off results in horrible flickering when placing a tile or scrolling, even on my powerful machine. However, most user-initiated changes - tile placement - shouldn't require a full rerender. So, I want to add a way for tools to request a repaint of only a specific region. That way, double buffering can be temporarily turned off (automatically) and the tile placed without flickering, fast. I'll work on this soon; it could be a big win for people with slower computers.
No comments:
Post a Comment