Tkinter Canvas に 86,000 個 (小さな円) を描画したいと考えています。平均すると、8,600 円ほどになります。一度に描かれる円はすべて同じ (サイズ、色) です。円の半径は、描画される円の数 (描画する円が多数ある場合は 1 ~ 2 ピクセル) に関連していますが、半径の違いによる全体的な影響はほとんどありません。
canvas.create_oval(px+r,py+r,px-r,py-r,fill='green')
計算時間にかなりのコストがかかります。円を事前に作成し、必要に応じてそのコピーをキャンバスに貼り付けるのが理想的です。
現時点では、canvas.create_oval(...)
86,000 回の呼び出しに約 20 秒かかります。(描画する円を決定するロジック自体は 100 ミリ秒未満で実行されます。)
円をすべて個別に作成するのではなく、1 つの円をコピーするにはどうすればよいですか?