mjtakenon / hakoniwa

🏝
4 stars 0 forks source link

iOSで島編集メニューが重い問題の解決 #132

Closed nonuplet closed 1 year ago

nonuplet commented 1 year ago

Overview

iOSで島編集画面のタイルをタップした時に出てくるメニューが非常に重い問題を解決しました。 fixed #129

Description

以前にフォントサイズ変更の仕様変更で使用したContainer Queryが原因でした。 そのため直接的な原因は島編集画面ではなく、StatusTable.vue のほうでした。

かといって以前の仕様に戻すとまたメモリリークが起きてしまうため、実装をまた大幅に変更しました。 fontSizeを用意しておき、DOM要素がレンダリング後(this.$nextTick)にコンテナのサイズを計算して調整しています。 v-bindからmethodを直接呼び出しているわけではなく、あくまでscreenWidthの変更を検知して再計算が走るので計算コストもそこまで重くないはずです。

ただ実装がレスポンシブベースではあるものの、StatusTableの発展ポイント~資源生産の個所のレイアウトを今後大幅に変更した場合は崩れる可能性があります。

たぶんこれが最適解だと思いますが、もしもっと改善案が浮かんだら再度修正するかもしれません。

mjtakenon commented 1 year ago

よさそう、マージしますー