質問するログイン新規登録

回答編集履歴

2

追記

2020/07/24 08:16

投稿

退会済みユーザー
answer CHANGED
@@ -13,4 +13,8 @@
13
13
 
14
14
  ## 理由2
15
15
  また、これ以外に限らずゲームでもお馴染みオブジェクト数が多すぎると重くなります(どのライブラリでもこれは言える)
16
- なので、少しでも軽くするためには、**タイルの部分を画像にしてやってみる、変数の作り過ぎに気をつける**などの方法があります。
16
+ なので、少しでも軽くするためには、**タイルの部分を画像にしてやってみる、変数の作り過ぎに気をつける**などの方法があります。
17
+
18
+ ## 追記1
19
+ ![](e4e98af8169840d7844dfcf835ef2fa5.png)
20
+ このように自分のパソコンでは表示されます。

1

誤字修正

2020/07/24 08:16

投稿

退会済みユーザー
answer CHANGED
@@ -1,8 +1,16 @@
1
1
  理由がわかりました。
2
+ ## 理由1
2
3
  line_profilerというものを使用して一行一行の実行時間がわかるものです。詳しくは次の解説サイトを見てください。
3
4
  [https://www.yoheim.net/blog.php?q=20171005](https://www.yoheim.net/blog.php?q=20171005)
4
5
  以下のサイトを見ている前提で話します。(みにくくなるため)
5
6
  [https://github.com/kumitatepazuru/teratail/blob/master/7-24/time](https://github.com/kumitatepazuru/teratail/blob/master/7-24/time)
6
7
  まず、何回か出てきているTotal timeです。
7
8
  これはその下の関数がどのくらい時間がかかっているかを表示しています。
8
- そのように見てみると`color_determine`と`block_move`がおもいみたいです。もっと見てみるとtimeの欄の部分がいじょ
9
+ そのように見てみると`color_determine`がおもいみたいです。もっと見てみるとtimeの欄の部分が異常に高行があるのがわかると思うのですが、それがこの行です。
10
+ `self.label_[i] = tkinter.Label(self.root, text="=" + str(self.a[i - 6]), font=(None, 10), bg=w)`
11
+ tkinter自体は重くないのですが、tkinterオブジェクトを作るのは強烈に重いです。
12
+ なので、そんなプログラムを600回強も動かすとそりゃ重くなります。
13
+
14
+ ## 理由2
15
+ また、これ以外に限らずゲームでもお馴染みオブジェクト数が多すぎると重くなります(どのライブラリでもこれは言える)
16
+ なので、少しでも軽くするためには、**タイルの部分を画像にしてやってみる、変数の作り過ぎに気をつける**などの方法があります。