背景:
動態(tài)地圖服務在三維場景下不僅慢谷扣,而且顯示相對模糊。ArcGIS API for JavaScript裹匙。
現(xiàn)象歸納:
默認情況下在塔,會以2048*2048的size蛔溃。請求兩次投影后范圍為xmin ymin xmax ymax的一個區(qū)域的地圖贺待。
請求1:(xmax-xmin)/2048 = view.zoom(近似取整)-1 對應級別的resolution?
請求2:(xmax-xmin)/2048 =view.zoom(近似取整)-2級別的resolution(范圍較大的一次請求)零截。
思路:
要改進模糊問題涧衙,識別resolution較小的一次請求弧哎,嘗試更改size為4096
要改進慢的問題,識別和阻斷resolution值過大的一次請求偎捎≤钏或嘗試更改size為1024。
一旦視角傾斜祭钉。范圍較大的請求resolution更大己沛。對應的lod的zoom層級view.zoom - n n更大泛粹。
同事挖掘的用戶需求:高分屏加速。
????1.在不存在效率問題的環(huán)境下讓地圖模糊問題更加清晰扒接。
????2.自定義切片圖層適應高分屏钾怔,提高效率蒙挑。
2022年6月28日測試,清晰度無法通過調整width和height圖片大小解決矾利。請求來的圖片不是簡單貼在該位置男旗,渲染引擎使他模糊察皇。請求來的圖片直接查看是很清晰的什荣。
清晰問題解決方法:
增大DPI稻爬,如調整96為120胰坟。同時稍微調節(jié)width和height x1.05 或不調節(jié)圖片大小泞辐,直接使用MapImageLayer設置dpi為120在SceneView中即可咐吼。文字能夠更加清晰锯茄。調整完DPI后肌幽,圖片大小也減小了喂急,帶寬問題也得到緩解笛求。
大范圍請求導致效率問題的解決方法:
使用BaseDynamicLayer創(chuàng)建自定義動態(tài)圖層狡孔。重寫fetchImage方法苗膝。
以上代碼算是針對現(xiàn)象歸納理論的實踐辱揭。
弊端:
視角平視界阁,遠處地圖級別和近處不一樣,遠處更為模糊贮竟,有種早版本的API的SceneView下的切片圖層的割裂的感覺丽焊。這就是追求效率帶來的不清晰的一點弊端。
還是建議設置SceneView.constraints咕别。稍微限制一下傾斜視角技健,如果不是在看具體建筑物的時候。