codeforjapan / mapprint

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

地図画面の動作が遅い

ssig33 opened this issue · comments

地図をドラッグ&ドロップした時の挙動がとにかく遅くて、印刷したい地図の状態を得るのが困難であると思う

ちなみに、2019年台風19号のマップを見ているならば、そもそもデータ量が多すぎるので、重くて当然というのはある。

これ?

補足。

Slack

Image from Gyazo

つまり

Image from Gyazo

  • 案A:マーカーのクラスタリングに対応する #264
  • 案B:表示している領域だけマーカーを描画する
  • 案C:地図をドラッグしている時はマーカーを描画しない ← New!

この問題は引き続き解消されていないので、なんとかしたいところ

markerではなくSpriteを表示するようにすると高速に動くはずだが、Spriteを動的に作る仕組みなどを考える必要がある。

この件、気になったのでみてみましたが

inBoundsMarkers() {

①地図移動のたびにcomputedプロパティのinboundMarkersが再計算され、②この値に依存する別のcomputedが再計算され…と重たいようです。GeoJSONのループ自体が重たいのかも?

たとえば常に全件表示するようにすると、地図操作のパフォーマンスは改善するような気がします。それでもフレームレートは遅いですが。なので地図の描画速度がボトルネックではない気がしました。

概要はPRに書いてありますが、毎回markerを全てループしていて、かつコストの高い処理が入っていたのが、パフォーマンス低下の原因と思われます。