回答編集履歴
3
GCの影響について追記
answer
CHANGED
@@ -82,7 +82,10 @@
|
|
82
82
|
20000 の部分の数を減らすと、destroy でも直ぐに終了できるようになるので、
|
83
83
|
ウィジェットの数がパフォーマンスに影響する事があるのは解ると思います。
|
84
84
|
|
85
|
+
追記2: 終了時ではなく、プレイ中にパフォーマンス低下するとしたら、
|
86
|
+
大量のオブジェクトを生成した時のGCの影響が考えられます。
|
85
87
|
|
88
|
+
|
86
89
|
----
|
87
90
|
追記: ウィジェット生成時の name 引数について
|
88
91
|
|
2
ウィジェット生成時のname引数について追記
answer
CHANGED
@@ -80,4 +80,17 @@
|
|
80
80
|
ウィジェットを全て破棄しようとする為、ウィジェットの数に応じた時間が掛かります。
|
81
81
|
|
82
82
|
20000 の部分の数を減らすと、destroy でも直ぐに終了できるようになるので、
|
83
|
-
ウィジェットの数がパフォーマンスに影響する事があるのは解ると思います。
|
83
|
+
ウィジェットの数がパフォーマンスに影響する事があるのは解ると思います。
|
84
|
+
|
85
|
+
|
86
|
+
----
|
87
|
+
追記: ウィジェット生成時の name 引数について
|
88
|
+
|
89
|
+
```python
|
90
|
+
label = tk.Label(root, name="a")
|
91
|
+
```
|
92
|
+
|
93
|
+
とすると、上のコードでウィジェット数は 20002 -> 3 になります。
|
94
|
+
(同じnameを付ける事で、再生成を抑制)
|
95
|
+
代わりにクラス初期化時の速度は遅くなるので、起動が遅く感じますが。
|
96
|
+
一度に大量に生成しないなら、許容範囲位には収まるはずです。
|
1
補足
answer
CHANGED
@@ -42,6 +42,7 @@
|
|
42
42
|
|
43
43
|
例えば、スコアを 20, 6, 66, 77, 40 で5回プレイした後に
|
44
44
|
ウィンドウを閉じようとした時、応答に時間が掛かる、等。
|
45
|
+
(※ 補足追記: 例として挙げただけで、実際に試して重たくなったわけではありません)
|
45
46
|
|
46
47
|
スコアは適当ですが、何回クリックしたか→
|
47
48
|
関数が呼ばれる回数 → ウィジェットが生成される数を、大雑把に把握する為の目安です。
|