Repository navigation
Fix Retina raster tiles and skip unchanged marker lists - #10
Merged
Merged
Conversation
bearing を「値を増やすと地図が時計回りに回る」向きに統一し、ネイティブ SDK との変換をコアの CameraBearing に集約する。
コアの未リリースな変更に追随する PR を、コアのリリースを待たずに検証できるようにする。Package.swift が元から持っている「隣に ios-sdk-core があればそれを使う」経路に乗せるだけ。
MKMapCamera.pitch は CGFloat。暗黙変換に任せると CoreGraphics の cos(CGFloat) と Foundation の cos(Double) が両方候補になり、ツールチェーンによっては ambiguous use of 'cos' で落ちる。
SwiftUI re-evaluates map content on every camera change and hands the full marker list back to syncMarkers each time. For 144k markers the per-pass sets, dictionaries and hasEntity locks ran on the main thread for hundreds of milliseconds -- the 'pinch feels heavy on iOS' report. MarkerListIdentity (core) compares the list by reference and lets an unchanged list return in under a millisecond. Applied to every provider because fixing one just moves the report to the next one. Also pass declutterPx through to the tile renderer -- the option was silently ignored here while MapLibre honoured it -- and drop the per-subscription log line, which emitted 144k lines on first sync.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
feature/bearing-clockwiseのうち、まだdevelopに入っていない変更を取り込みます(bearing の変更は #6 でマージ済みです)。MarkerListIdentityで参照比較しています)。144k マーカーでピンチ操作が重かった件の対策です。declutterPxがタイルレンダラーに渡らず無視されていたので、渡すようにしました。また、購読ごとのログ出力をやめました(初回同期で 144k 行出ていました)。MKMapCamera.pitch(CGFloat)の変換を明示的に書くようにしました。ツールチェーンによってはambiguous use of 'cos'でビルドが失敗していました。ios-sdk-coreから MapConductorCore をビルドするようにしました。