回答編集履歴

3

GCの影響について追記

2020/07/24 04:27

投稿

teamikl
teamikl

スコア8664

test CHANGED
@@ -166,6 +166,12 @@
166
166
 
167
167
 
168
168
 
169
+ 追記2: 終了時ではなく、プレイ中にパフォーマンス低下するとしたら、
170
+
171
+ 大量のオブジェクトを生成した時のGCの影響が考えられます。
172
+
173
+
174
+
169
175
 
170
176
 
171
177
  ----

2

ウィジェット生成時のname引数について追記

2020/07/24 04:26

投稿

teamikl
teamikl

スコア8664

test CHANGED
@@ -163,3 +163,29 @@
163
163
  20000 の部分の数を減らすと、destroy でも直ぐに終了できるようになるので、
164
164
 
165
165
  ウィジェットの数がパフォーマンスに影響する事があるのは解ると思います。
166
+
167
+
168
+
169
+
170
+
171
+ ----
172
+
173
+ 追記: ウィジェット生成時の name 引数について
174
+
175
+
176
+
177
+ ```python
178
+
179
+ label = tk.Label(root, name="a")
180
+
181
+ ```
182
+
183
+
184
+
185
+ とすると、上のコードでウィジェット数は 20002 -> 3 になります。
186
+
187
+ (同じnameを付ける事で、再生成を抑制)
188
+
189
+ 代わりにクラス初期化時の速度は遅くなるので、起動が遅く感じますが。
190
+
191
+ 一度に大量に生成しないなら、許容範囲位には収まるはずです。

1

補足

2020/07/24 00:06

投稿

teamikl
teamikl

スコア8664

test CHANGED
@@ -86,6 +86,8 @@
86
86
 
87
87
  ウィンドウを閉じようとした時、応答に時間が掛かる、等。
88
88
 
89
+ (※ 補足追記: 例として挙げただけで、実際に試して重たくなったわけではありません)
90
+
89
91
 
90
92
 
91
93
  スコアは適当ですが、何回クリックしたか→