作業室2022-06-08
予定
nishio.icon
グループの中の矢印の描画位置がズレるバグを直す
この前の修正でエンバグした?
テストケース作る
こざねの枚数とレンダリング時間の表示をつける
合間に未踏ジュニアの動画を見る
予定
0:00
1:00
2:00
3:00
4:00
5:00
6:00
06:28 過去問Aはるひ.icon
7:00
07:30 2ポモやったはるひ.icon
楽しかった!(大嘘)
あと3時間で終わる計算。だる!
試験までにあと15時間くらいは必要だろうか。日で割ると1日1時間もやらないといけない
計画的だ基素.icon
その後4,5日程度の間隔で10科目続くからもっと足して割らないといけない
8月初頭でラスト
8:00
9:00
再開はるひ.icon
知らないうちに何もしてなかった(?)
何してたんだろう
10:00
11:00
nishio.icon🍅11:56-12:21 テストケース作る
再現テストケースできた
グループをドラッグした場合に、中身のバウンディングボックスは更新されないが、線分の始点終点は更新されて、計算された交点がずれるバグ
あれれ?今まではなぜ動いてたのか?今までも動いてなかったのか?
前のバージョンをcheckoutしてみたけどバグが再現しないな
12:00
12:30 筋トレはるひ.icon
汗かいた
nishio.iconわかった、元から交点計算関数に渡してた引数は間違っていて、グループの中にいる場合はズレていたのだが、古いアルゴリズムは「始点がボックスの中心から出ていると仮定して傾きだけに注目して交点を計算する」というものだったので発覚しなかったんだ
13:00
14:00
予定よりタスク消化速度が遅れてるtakker.icon
と思ったら今日やるタスク全部消化できた
ミラクル
15:00
-1600 ビザの手続きをするblu3mo.icon
nishio.icon🍅15:44-16:09 続き
fixed, released✅
16:00
nishio.icon🍅16:42-17:07 枚数とレンダリング時間の表示
とりあえずUIは抜きで、windowに表示する関数を生やそう
表示してるものが500個ちょいあることがわかった
https://gyazo.com/058df9a1617de0a233372cf88fd8e9bf
数を数えるのは簡単だけど、時間の計測はどこを測ればいいかよくわからないな…
17:00
1705~ 授業blu3mo.icon
nishio.iconうーん、onWheelの処理に掛かってる時間を計ろうかと思ったがこれはReactの状態更新を行うだけでイベントハンドラ自体はすぐ終わるなぁ
状態管理をReactに任せないで自前でやると動きがなめらかになるのかな?
今それをやってないのはwheelイベントにマウスのドラッグとかと違って「終わり」を示すイベントがないから
18:00
19:00
20:00
21:00
nishio.icon処理時間が1フレームに収まってない部分。onWheelの中ではReactNのGlobalStateManager.setを呼んでるだけなのだけどそれが1フレーム16.7msecのうちの3.7msecを食っている。削れるのはここくらいか
https://gyazo.com/fd71b77d7336cf48b428455f2de706dd
やはり状態更新と画面更新をReactを通さずに自前でやるしかないかなー??
さくさく動いてる時は2msecくらい
https://gyazo.com/f9c8702102b8446c4cd9954c783a5910
うーん、これ、Paint(とそれと同程度の内容不明の時間)が伸びてるのが主要因だから状態更新を削っても改善しないな。「解決したければ新しいMacBookを買ってください」って感じだ
22:00
23:00
nishio.iconCPUタブのこの斜線が何なのか気になって調べたら「メインスレッド以外の処理」とのこと。
https://gyazo.com/9f31f26cf2c03f4aa14b0a5460151fb3
メインスレッド以外の処理がこんなにいっぱいいっぱいなのって、なんだろう?
Reactがメインスレッドの外で状態管理をしてるってこと?
そんなわけないか…???
昔の人が読んで書き残した一文を今私が読んでいる~~~と思うのだ
謎が解けた瞬間が面白いnishio.icon
+1cFQ2f7LRuLYP.icon
雑談