i developed an application that draw square on a canvas. after some algorithm, the location of the square is moved. i need to draw the new location of that square on the same canvas. however, when i use the repaint() command, i need to wait around 30s for the canvas to be updated. why is this? is this normal? if it isnt, why is it behaviour this way?

please help