Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Safariでノートの描画負荷が高い(というか多分スタイルの再計算が多い) #11004

Open
tamaina opened this issue Jun 13, 2023 · 9 comments
Labels
🔥high priority packages/frontend Client side specific issue/PR 🐢Performance Efficiency related issue/PR

Comments

@tamaina
Copy link
Contributor

tamaina commented Jun 13, 2023

Summary

Safariでノートの描画負荷が高い(というか多分スタイルの再計算が多い)

電池の減りが猛烈だったり、(Deckで)タイムラインにノートが出現してもしばらく描画されないのを直したい

Related to #10805

(CPUやGPUの使用率が絞られているっぽくて、CPU使用率が高くなるわけではない)

@tamaina tamaina added 🐢Performance Efficiency related issue/PR packages/frontend Client side specific issue/PR labels Jun 13, 2023
@tamaina
Copy link
Contributor Author

tamaina commented Jun 13, 2023

これ縦長画像表示が加担してるな

@tamaina
Copy link
Contributor Author

tamaina commented Jun 13, 2023

ノートの高さの再計算が伴わないように書き換える方が当然ながら計算量は少なくて済む(し他のブラウザも軽くなる)

@yuriha-chan
Copy link
Contributor

画像のアスペクト比をDBに突っ込むという可能性

@tamaina
Copy link
Contributor Author

tamaina commented Jun 13, 2023

サイズが突っ込まれてるのでどうにでもなる

@MineCake147E
Copy link

サイズが突っ込まれてるのでどうにでもなる

毎回GCDを走らせたり縦横をGCDで除算したりするの結構CPUに負荷がかかりませんか?
除数や被除数、CPUのマイクロアーキテクチャにもよりますが、 Golden Cove だと除算命令は整数で加算の最大約18倍(Haswellだと最大101倍)、倍精度浮動小数点数で加算の最大約5倍(Haswellだと最大7倍)くらい時間がかかります。
ARM系だと同等かもっと酷いと思われます。

参考
IDIV (符号付き整数除算)
ADD (整数加算)
VDIVSD(倍精度浮動小数点数除算)
VADDSD(倍精度浮動小数点数加算)

@tamaina
Copy link
Contributor Author

tamaina commented Jan 1, 2024

#10452 がrevertされた(

@tamaina
Copy link
Contributor Author

tamaina commented Feb 6, 2024

関連: #11377, #11386, #12721

@tamaina
Copy link
Contributor Author

tamaina commented Feb 6, 2024

なんでネチネチ言ってるかと言うと、canvasとimgで切り替わった時に高さが変わるのがうざい

@tamaina
Copy link
Contributor Author

tamaina commented Feb 6, 2024

(scrollHeightごとに3:2/1:1/16:9を切り替えるという手もあるが、それだとjsでheight/widthを読む必要があるので #12719 の問題が再発する

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🔥high priority packages/frontend Client side specific issue/PR 🐢Performance Efficiency related issue/PR
Projects
None yet
Development

No branches or pull requests

4 participants