Hello, The following code is too slow (paint operation takes few seconds):
Canvas{ id:map width:columnsCount*rectangleSize height:rowsCount*rectangleSize anchors.horizontalCenter:alignCenter?parent.horizontalCenter:undefined anchors.left:alignCenter?undefined:parent.left anchors.bottom:parent.bottom propertyintoffset:1 onPaint:drawMap() functiondrawMap(){ if(columnsCount===0||rowsCount===0){ return; } varmap=downloadProgressMap.map(); varctx=getContext("2d"); for(vari=0;i<map.length;i++){ varx=(i%columnsCount)*rectangleSize; vary=(Math.floor(i/columnsCount))*rectangleSize; if(map[i]){ drawFillRect(ctx,x,y); }else{ drawClearRect(ctx,x,y); } } } functiondrawFillRect(ctx,x,y){ ctx.fillStyle=appWindow.theme.progressMapFillBorder ctx.fillRect(x+offset,y+offset,rectangleSize-offset*2,rectangleSize-offset*2); ctx.fillStyle=appWindow.theme.progressMapFillBackground ctx.fillRect(x+offset+1,y+offset+1,rectangleSize-(offset+1)*2,rectangleSize-(offset+1)*2); } functiondrawClearRect(ctx,x,y){ ctx.fillStyle=appWindow.theme.progressMapClearBorder ctx.fillRect(x+offset,y+offset,rectangleSize-offset*2,rectangleSize-offset*2); ctx.fillStyle=appWindow.theme.background ctx.fillRect(x+offset+1,y+offset+1,rectangleSize-(offset+1)*2,rectangleSize-(offset+1)*2); } } Can anything be done to improve its speed, or should we use c++ instead? It paints the following: Map size: 2323 elements.
_______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest