日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SuperMap iDesktop/iDesktopX 端性能优化

發(fā)布時間:2024/1/1 编程问答 69 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SuperMap iDesktop/iDesktopX 端性能优化 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作者:yd&hyy

一、背景

在使用iDesktop/iDesktopX的三維場景加載GIS數(shù)據(jù)的過程中,隨著數(shù)據(jù)的種類、大小、數(shù)量的增多,往往會有很多的性能問題,加載速率緩慢,數(shù)據(jù)顯示清晰度不足,多數(shù)據(jù)交疊顯示錯誤,掉幀甚至崩潰等情況。針對以上情況,本文著重介紹了在各種情況下對于場景及圖層的優(yōu)化方案供用戶參考使用。

二、針對場景的顯示優(yōu)化

2.1 場景顯示效果優(yōu)化

優(yōu)化場景的顯示效果的方式包括:文本層疊優(yōu)化、設(shè)置地形縮放效果、場景要素的顯示控制等。

2.2 優(yōu)化文本層疊效果

在場景顯示中,多個文本之間可以會出現(xiàn)層疊的情況,影響場景的顯示效果。比較好的一種解決方法是:通過文本過濾顯示,過濾掉部分層疊文本,根據(jù)層疊文本存在的優(yōu)先級或特定需要保留一個完整的文本對象。

為了解決場景中的文本層疊的問題,應(yīng)用程序提供了壓蓋文本過濾顯示與自動避讓的功能。可對當(dāng)前場景設(shè)置不顯示壓蓋的文本對象,自動過濾掉后輸入的文本對象,從而避免壓蓋現(xiàn)象出現(xiàn)。

2.3 啟用場景反走樣

在【文件】——【選項】——【環(huán)境】中打開“場景反走樣”選項。

1)反走樣
在光柵圖形顯示器上顯示非水平且非垂直的直線或多邊形邊界時,或多或少會呈現(xiàn)鋸齒狀或臺階狀外觀。這是因為直線、多邊形、色彩邊界等是連續(xù)的,而光柵則是由離散的點(diǎn)組成,在光柵顯示設(shè)備上表現(xiàn)直線、多邊形等,必須在離散位置采樣。由于采樣不充分重建后造成的信息失真,就叫“走樣”。而用于減少或消除這種效果的技術(shù),就稱為反走樣。
2)場景反走樣
對整個場景窗口的顯示進(jìn)行優(yōu)化,使場景自身和加載到場景中的圖層和模型的顯示更加平滑。(開啟場景反走樣會優(yōu)化數(shù)據(jù)顯示,但是會影響加載速率)

2.4 控制場景要素的顯示

為了使場景中可以顯示的基礎(chǔ)地理要素更為豐富,同時也是為了滿足不同行業(yè)的用戶對場景中顯示、瀏覽的需求,應(yīng)用程序在場景中提供了大氣層、經(jīng)緯網(wǎng)、海洋水體、地下效果等輔助要素。用戶可根據(jù)需要,控制這些地理要素的是否顯示,優(yōu)化場景中的顯示效果。

在應(yīng)用程序中,對場景顯示速度的優(yōu)化,主要通過減少場景中顯示的圖層和顯示的對象,提高顯示與瀏覽速度的目的。優(yōu)化場景顯示速度的方式包括:對象過濾顯示、圖層過濾顯示、三維緩存、場景緩存等。

2.5 使用緩存

為了提高場景中海量三維數(shù)據(jù)的顯示、瀏覽速度,應(yīng)用程序提供了生成三維緩存和場景緩存的功能,以及在場景中加載緩存的功能。
1)生成三維緩存
在應(yīng)用程序中可生成多種類型的三維緩存類型,包括:三維地圖緩存、三維矢量緩存、三維影像緩存、三維地形緩存、三維模型緩存。通過對不同類型的數(shù)據(jù)生成三維緩存,提高大數(shù)據(jù)量的矢量、地形、影像、模型等數(shù)據(jù)在場景中的瀏覽速度。
2)生成場景緩存
場景緩存是指基于整個場景生成緩存,通過一次操作,即可將已加載到場景中的不同類型的數(shù)據(jù)生成對應(yīng)類型的緩存。通過對整個場景生成緩存,能便捷對加載到場景中的各類數(shù)據(jù)生成和加載緩存,提高整個場景的瀏覽速度。
3)加載緩存
在場景中加載已生成的緩存文件,可大大提高海量數(shù)據(jù)的瀏覽速度。

2.6 設(shè)置地形縮放效果

為了更為逼真地顯示場景中模擬球體的三維效果,當(dāng)在場景中加載地形圖層后,可對地形圖層設(shè)置地形縮放比例的數(shù)值,使場景按照縮放比例值顯示地形數(shù)據(jù)的垂直夸張程度,從而優(yōu)化場景中的三維顯示效果。

三、針對圖層的顯示優(yōu)化

3.1 三維圖層屬性控制

1)圖層對象控制
三維場景中可以根據(jù)一些對象屬性條件、對象特征條件、場景視口條件,通過不同程度的條件,對圖層中的對象進(jìn)行過濾或是排序,來優(yōu)化顯示效果,減小性能負(fù)擔(dān)。
屬性過濾條件
在場景中,為了提高瀏覽速度,經(jīng)常需要把一些對象根據(jù)一定的條件進(jìn)行過濾。通過設(shè)置過濾表達(dá)式,僅在圖層中顯示滿足條件的幾何對象。
可見高度過濾條件
在場景顯示中,經(jīng)常會遇到根據(jù)不同的高度來過濾圖層,例如:
當(dāng)前場景中,A 圖層低于于當(dāng)前高度將不顯示,或高于當(dāng)前高度將不顯示;
當(dāng)前場景中,A 圖層在高度為50000米時顯示,在30000米時不顯示。
在不同高度下,應(yīng)用程序提供了設(shè)置圖層可見高度范圍的功能,用戶可根據(jù)場景中的圖層顯示需要,控制圖層在多大的高度范圍中顯示。
透明度過濾條件
三維對象本身的顏色是RGBA的形式,每個三維對象都有自己的Alpha通道透明度。
在場景顯示中,可以根據(jù)業(yè)務(wù)情況來根據(jù)對象的Alpha頭透明度來過濾對象,低于Alpha過濾閾值的對象不顯示。
透明排序
只適用于模型緩存圖層。只有當(dāng)前選擇的圖層為模型緩存圖層時,該復(fù)選框被激活。勾選“開啟透明排序”復(fù)選框,可以對當(dāng)前模型緩存圖層的對象按照對象透明度進(jìn)行排序。
多邊形偏移渲染順序
多邊形偏移是解決場景中圖層重疊發(fā)生閃爍問題的有效辦法,如下圖模型因為貼地球表面,所以產(chǎn)生閃爍現(xiàn)象。設(shè)置模型多邊形偏移的偏移因子為5后,可以發(fā)現(xiàn)閃爍現(xiàn)象消失了。

支持對場景、三維面圖層、三維切片緩存(osgb)圖層及模型數(shù)據(jù)集圖層設(shè)置多邊形偏移,在圖層屬性面板下。

偏移常量:獲取或設(shè)置多邊形偏移常量。當(dāng)值為正值時,表示多邊形朝屏幕外偏移;為負(fù)值時,表示多邊形朝屏幕內(nèi)偏移。
縮放因子:多邊形偏移常量和多邊形偏移深度斜率因子共同決定了多邊形對象在屏幕深度方向的偏移量,設(shè)置多邊形偏移常量和多邊形偏移深度斜率因子。
多邊形偏移常量和縮放因子共同決定了多邊形對象在屏幕深度方向的偏移量,有如下公式: 深度偏移量=m縮放因子+r偏移常量
m為多邊形的最大縮放因子;r為確保場景坐標(biāo)深度值能夠被區(qū)分的最小值,它是隨OpenGL渲染而異的常量。
2)顯示效果控制
透明效果強(qiáng)化
可以花費(fèi)更多的性能負(fù)載,來提高優(yōu)化帶有部分透明材質(zhì)、半透明材質(zhì)的模型顯示效果(使用前需要開啟場景屬性中的透明優(yōu)化)。 反之關(guān)閉可以降低性能負(fù)載。
對象陰影支持
開啟陰影模式,可以使本身沒有陰影的三維對象,可以根據(jù)模擬的日光條件,渲染顯示出該對象的陰影。包括“無陰影”、“顯示選中對象陰影”和“顯示所有對象陰影”三種模式。
無陰影:表示圖層中的所有對象的陰影均不顯示。
顯示選中對象的陰影:表示圖層中只有選中對象的陰影顯示。
顯示所有對象陰影:表示圖層中所有對象的陰影均顯示。
3)其它控制
緩存圖層內(nèi)存釋放
僅適用于緩存圖層。開啟“隱藏圖層時釋放內(nèi)存”復(fù)選框,可以實(shí)現(xiàn)隱藏緩存圖層時,釋放該圖層的內(nèi)存,減少總體內(nèi)存占用。
實(shí)時刷新
開啟“啟用時刷新”復(fù)選框,即可在編輯修改圖層每一條屬性時,立刻生效設(shè)置的參數(shù),而不需要手動確認(rèn)。

3.2 三維模型圖層屬性控制

1)LOD縮放比例
模型Lod層是在不同高度下節(jié)約渲染性能的策略。如:
相機(jī)高度低于500時,顯示0級原始最精細(xì)層,
相機(jī)高度在500-1000時,顯示1級粗糙Lod層,
相機(jī)高度在1000-1500時,顯示2級粗糙Lod層,
…向上都是顯示最低以及Lod層。
使用上是不能直接改變LOD切換距離值,但可通過更改LOD層級切換距離縮放系數(shù)來改變LOD切換距離,即:新的LOD切換距離=原始LOD切換距離*LOD切換距離縮放系數(shù)。
這樣使用LOD縮放比例可以控制高性能精細(xì)層顯示策略和高效率粗糙層顯示策略的平衡調(diào)整。
2)線框模式
可以選擇設(shè)置模型的線框類型,包含“三角形”、“四邊形”和“草圖”三種模式。渲染精細(xì)程度上是三角形>四邊形>草圖,渲染效率上是反之。
過濾閾值(相鄰兩三角面之間的夾角)是指過濾小于閾值的線框不在顯示,設(shè)置的話可以節(jié)約渲染負(fù)擔(dān),提高顯示效率。(線框模式選擇四邊形模式時,線框閾值才有效果)。

3.3 三維緩存圖層屬性控制

1)LOD縮放比例
緩存Lod層是在不同高度下節(jié)約渲染性能的策略。如:
相機(jī)高度低于500時,顯示0級原始最精細(xì)層,
相機(jī)高度在500-1000時,顯示1級粗糙Lod層,
相機(jī)高度在1000-1500時,顯示2級粗糙Lod層,
…向上都是顯示最低以及Lod層。
使用上是不能直接改變LOD切換距離值,但可通過更改LOD層級切換距離縮放系數(shù)來改變LOD切換距離,即:新的LOD切換距離=原始LOD切換距離*LOD切換距離縮放系數(shù)。
這樣使用LOD縮放比例可以控制高性能精細(xì)層顯示策略和高效率粗糙層顯示策略的平衡調(diào)整。
2)加載優(yōu)先級
包含深度優(yōu)先、層優(yōu)先和深度非線性切換。
深度優(yōu)先:優(yōu)先加載當(dāng)前視角范圍內(nèi)所有金字塔的所有切片。
層優(yōu)先:優(yōu)先加載當(dāng)前金字塔層級的所有切片。
深度非線性切換:優(yōu)先加載當(dāng)前視角范圍內(nèi)所有金字塔的所有切片,距離相機(jī)較遠(yuǎn)處只加載較粗糙的數(shù)據(jù)。
3)線框模式
可以選擇設(shè)置模型的線框類型,包含“三角形”、“四邊形”和“草圖”三種模式。渲染精細(xì)程度上是三角形>四邊形>草圖,渲染效率上是反之。
過濾閾值(相鄰兩三角面之間的夾角)是指過濾小于閾值的線框不在顯示,設(shè)置的話可以節(jié)約渲染負(fù)擔(dān),提高顯示效率。(線框模式選擇四邊形模式時,線框閾值才有效果)。

3.4 三維地形圖層屬性控制

1)LOD縮放比例
緩存Lod層是在不同高度下節(jié)約渲染性能的策略。如:
相機(jī)高度低于500時,顯示0級原始最精細(xì)層,
相機(jī)高度在500-1000時,顯示1級粗糙Lod層,
相機(jī)高度在1000-1500時,顯示2級粗糙Lod層,
…向上都是顯示最低以及Lod層。
使用上是不能直接改變LOD切換距離值,但可通過更改LOD層級切換距離縮放系數(shù)來改變LOD切換距離,即:新的LOD切換距離=原始LOD切換距離*LOD切換距離縮放系數(shù)。
這樣使用LOD縮放比例可以控制高性能精細(xì)層顯示策略和高效率粗糙層顯示策略的平衡調(diào)整。
2)填充模式
可以選擇填充模式為“填充”和“輪廓”,輪廓則顯示原始三角網(wǎng),輪廓模式可以極大提升渲染效率,但是僅能顯示三角網(wǎng)線框。

總結(jié)

以上是生活随笔為你收集整理的SuperMap iDesktop/iDesktopX 端性能优化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。