I'm new to this component but looks great. But I have big problem with performance (I have big monitors
) and UI must be smooth. Resizing, scrolling all is slow as hell.
Maybe due one big component and whole screen repainting. So I have created little test app for my new concept to rewrite painting logic. Instead use one Canvas I would like to divide into TILE_SIZE parts with own map buffer.
TMapViewer will have X*Y TGraphicsControl with own buffer with WIDTH and HEIGHT of TILE_SIZE. So for one TMapViewer we will need (Width div TILE_SIZE) + 2 . Two for offscreen rendering. Same for height.
Maybe each tile can have own thread for updating to prevent queue logic
For smooth map moving there is TTimer with 60FPS update speed to prevent lags due high mouse move speeds. Please see attachment with little concept test app. What do you thing?