專利名稱:一種三維圖像數(shù)據(jù)處理方法及一種電子設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及GIS技術(shù)領(lǐng)域,尤其涉及一種三維圖像數(shù)據(jù)處理的方法及一種電子設(shè)備。
背景技術(shù):
GIS即地理信息系統(tǒng)(Geographic Information System),是一種基于計算機的工具,它可以對地球上存在的東西和發(fā)生的事件進(jìn)行成圖和分析。GIS技術(shù)把地圖這種獨特的視覺化效果和地理分析功能與一般的數(shù)據(jù)庫操作(例如查詢和統(tǒng)計分析等)集成在一起。這種能力使GIS與其他信息系統(tǒng)相區(qū)別,從而使其在廣泛的公眾和個人企事業(yè)單位中解釋事件、預(yù)測結(jié)果、規(guī)格戰(zhàn)略等中具有實用價值。GIS中常使用三維建模技術(shù),三維模型是物體的三維多邊形表示,通常用計算機進(jìn)行制作和顯示,制作和顯示的物體可以是現(xiàn)實世界的實體,也可以是虛構(gòu)的東西,既可以小到原子,也可以達(dá)到很大的尺寸。任何物理自然界存在的東西都可以用三維模型表示。三維模型廣泛用于任何使用三維圖形的地方,如用于油田開發(fā)、地質(zhì)研究等多個領(lǐng)域的地理信息數(shù)據(jù)處理中。在現(xiàn)有技術(shù)中,一般使用計算機進(jìn)行三維模型的可視化顯示,具體而言,三維模型的可視化顯示在計算機系統(tǒng)中的處理過程為:計算機的處理單元,如計算機的CPU將存儲于存儲設(shè)備中的三維模型數(shù)據(jù)輸入內(nèi)存中,然后CPU從內(nèi)存中調(diào)入數(shù)據(jù)進(jìn)行處理后,輸出給顯示裝置。在這個處理過程中,由于三維模型所涉及的數(shù)據(jù)往往是高密度、高精度、海量的模型數(shù)據(jù),在計算機系統(tǒng)如何有效的調(diào)度海量的模型數(shù)據(jù)進(jìn)入內(nèi)存是很難完美解決的問題?,F(xiàn)有技術(shù)中,為了解決上述海量模型數(shù)據(jù)的內(nèi)存調(diào)入問題,往往采用視錐體裁剪和LOD (Levels of Detail,中文翻譯為層次細(xì)節(jié))技術(shù)對模型進(jìn)行動態(tài)調(diào)度,只加載和渲染視野范圍以內(nèi)的場景模型,其中有代表性的是谷歌(Google)地球軟件。在實現(xiàn)本申請實施例中技術(shù)方案的過程中,本申請的發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在如下缺點:由于現(xiàn)有技術(shù)中,在處理過程中只是選擇視野范圍以內(nèi)的場景模型,而不考慮計算機的具體承載量,但是當(dāng)場景模型密度非常高,達(dá)到視野內(nèi)模型總量超過計算機承載能力的情況下,比如超出內(nèi)存上限時,系統(tǒng)將容易崩潰。
發(fā)明內(nèi)容
本申請實施例通過提供一種三維圖像數(shù)據(jù)處理的方法及一種電子設(shè)備,解決了現(xiàn)有技術(shù)中達(dá)到視野內(nèi)模型總量超過計算機承載能力情況下,系統(tǒng)容易崩潰的技術(shù)問題。一方面,本申請通過本申請的一個實施例,提供如下技術(shù)方案:一種三維圖像數(shù)據(jù)處理方法,包括:獲得第一三維圖像數(shù)據(jù),其中所述第一三維圖像數(shù)據(jù)為待加載入內(nèi)存的三維圖像數(shù)據(jù);將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存中;檢測將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存后的第一內(nèi)存狀態(tài)信息;根據(jù)所述第一內(nèi)存狀態(tài)信息獲得第一內(nèi)存使用率;比較所述第一內(nèi)存使用率與預(yù)定內(nèi)存使用率閾值;若所述第一內(nèi)存使用率大于所述預(yù)定內(nèi)存使用率閾值,則停止向所述內(nèi)存加載三維圖像數(shù)據(jù)。進(jìn)一步的,本實施例的一種三維圖像數(shù)據(jù)處理方法還包括:若所述第一內(nèi)存使用率小于所述預(yù)定內(nèi)存使用率閾值,則繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù)。進(jìn)一步的,本實施例的一種三維圖像數(shù)據(jù)處理方法還包括:在所述停止向所述內(nèi)存加載三維圖像數(shù)據(jù)之后,還包括:檢測所述內(nèi)存中是否有第二三維圖像數(shù)據(jù)處理完畢;當(dāng)有所述第二三維圖像數(shù)據(jù)處理完畢時,則繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù)。進(jìn)一步的,本實施例的一種三維圖像數(shù)據(jù)處理方法還包括:所述當(dāng)有所述第二三維圖像數(shù)據(jù)處理完畢時,則繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù),還包括:當(dāng)有所述第二三維圖像數(shù)據(jù)處理完畢時,釋放所述第二三維圖像數(shù)據(jù)所占用的內(nèi)存空間;獲得所述內(nèi)存的已釋放空間值;根據(jù)所述已釋放空間值確定第三三維圖像數(shù)據(jù),并將所述第三三維圖像數(shù)據(jù)加載入所述內(nèi)存。進(jìn)一步的,本實施例的一種三維圖像數(shù)據(jù)處理方法還包括:在所述停止向所述內(nèi)存加載三維圖像數(shù)據(jù)之后,還包括:獲得當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù);判斷所述內(nèi)存已加載的第四三維圖像數(shù)據(jù)是否為所述當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù);當(dāng)所述所述內(nèi)存已加載的第四三維圖像數(shù)據(jù)不是所述當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù)信息時,則卸載所述第四三維圖像數(shù)據(jù)。另一方面,本申請通過本申請的另一實施例提供如下技術(shù)方案:一種電子設(shè)備,包括:第一獲得模塊,用于第一三維圖像數(shù)據(jù),其中所述第一三維圖像數(shù)據(jù)為待加載入內(nèi)存的三維圖像數(shù)據(jù);第一加載模塊,用于將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存中;第一檢測模塊,用于將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存后的第一內(nèi)存狀態(tài)信息;第二獲得模塊,用于根據(jù)所述第一內(nèi)存狀態(tài)信息獲得第一內(nèi)存使用率;第一比較模塊,用于比較所述第一內(nèi)存使用率與預(yù)定內(nèi)存使用率閾值;第一執(zhí)行模塊,用于若所述第一內(nèi)存使用率大于所述預(yù)定內(nèi)存使用率閾值,則停止向所述內(nèi)存加載三維圖像數(shù)據(jù)。進(jìn)一步的,本實施例的一種電子設(shè)備,還包括:第二執(zhí)行模塊,用于若所述第一內(nèi)存使用率小于所述預(yù)定內(nèi)存使用率閾值,則繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù)。進(jìn)一步的,本實施例的一種電子設(shè)備,還包括:第二檢測模塊,用于檢測所述內(nèi)存中是否有第二三維圖像數(shù)據(jù)處理完畢;第三執(zhí)行模塊,用于當(dāng)有所述第二三維圖像數(shù)據(jù)處理完畢時,則繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù)。進(jìn)一步的,本實施例的一種電子設(shè)備,還包括:第四執(zhí)行模塊,用于當(dāng)有所述第二三維圖像數(shù)據(jù)處理完畢時,釋放所述第二三維圖像數(shù)據(jù)所占用的內(nèi)存空間;第三獲得模塊,用于獲得所述內(nèi)存的已釋放空間值;第五執(zhí)行模塊,用于根據(jù)所述已釋放空間值確定第三三維圖像數(shù)據(jù),并將所述第三三維圖像數(shù)據(jù)加載入所述內(nèi)存。進(jìn)一步的,本實施例的一種電子設(shè)備,還包括:第四獲得模塊,用于獲得當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù);第一判斷模塊,用于判斷所述內(nèi)存已加載的第四三維圖像數(shù)據(jù)是否為所述當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù);第六執(zhí)行模塊,當(dāng)所述所述內(nèi)存已加載的第四三維圖像數(shù)據(jù)不是所述當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù)信息時,則卸載所述第四三維圖像數(shù)據(jù)。本申請實施例中提供的一個或多個技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點:
(I)由于在本申請實施例中,動態(tài)檢測進(jìn)入內(nèi)存的模型數(shù)據(jù)量,并比較實時的內(nèi)存使用率與預(yù)定內(nèi)存使用率閾值,當(dāng)系統(tǒng)內(nèi)存不足時能夠自動停止模型加載,保護系統(tǒng)不會發(fā)生崩潰。(2)由于在本申請實施例中,當(dāng)達(dá)到實時的內(nèi)存使用率大于預(yù)定內(nèi)存使用率閾值的時候,優(yōu)先將不屬于視野內(nèi)的模型數(shù)據(jù)予以刪除,保證了優(yōu)先級高的模型數(shù)據(jù)進(jìn)入內(nèi)存中,保證系統(tǒng)加載和渲染的高效性,并提升了用戶的體驗性。(3)由于在本申請實施例中,預(yù)先檢測計算機的基本性能,并根據(jù)基本性能信息自動確定最優(yōu)的內(nèi)存使用率閾值信息,保證達(dá)到計算機的最佳運行狀態(tài),保證模型加載和渲染的高效性。(4)由于在本申請實施例中,在達(dá)到內(nèi)存使用率閾值后,計算機動態(tài)監(jiān)測內(nèi)存的釋放空間值,并將釋放空間值作為選擇因素確定待加載數(shù)據(jù),提升了內(nèi)存的整體加載效率。(5 )由于在本申請實施例中,將視錐體裁剪和/或LOD技術(shù)與本發(fā)明的技術(shù)方案結(jié)合應(yīng)用,達(dá)到了最佳的三維圖像數(shù)據(jù)加載方法。
圖1為本申請一實施例中三維圖像數(shù)據(jù)處理的方法的流程圖;圖2為本申請一實施例中自動確定預(yù)定內(nèi)存使用率閾值的流程圖;圖3為本申請一實施例中確定是否繼續(xù)向內(nèi)存加載數(shù)據(jù)的流程圖;圖4為本申請一實施例中確定是否繼續(xù)向內(nèi)存加載數(shù)據(jù)的又一流程圖;圖5為本申請一實施例中確定是否繼續(xù)向內(nèi)存加載數(shù)據(jù)的另一流程圖。
具體實施例方式本申請實施例通過提供一種三維圖像數(shù)據(jù)處理的方法及一種電子設(shè)備,解決了現(xiàn)有技術(shù)中需要計算的模型總量超過計算機承載能力情況下,系統(tǒng)容易崩潰的技術(shù)問題,有效保證了計算機系統(tǒng)處理高密度、高精度、海量模型數(shù)據(jù)時的安全、高效的技術(shù)效果。本申請實施例中的技術(shù)方案為解決上述問題,總體思路如下:在三維模型加載過程中,實時監(jiān)測內(nèi)容的使用情況,當(dāng)當(dāng)前的內(nèi)存使用率大于計算機的預(yù)設(shè)內(nèi)存使用率閾值的時候,停止向內(nèi)存加載三維模型數(shù)據(jù)。隨后,當(dāng)內(nèi)存的使用率小于計算機的預(yù)設(shè)內(nèi)存使用率閾值的時候,繼續(xù)向內(nèi)存加載三維數(shù)據(jù)模型,通過上述方式,可以保證數(shù)據(jù)加載始終處于計算機的承載范圍之內(nèi),保證系統(tǒng)不會由于數(shù)據(jù)加載超量而崩潰。為了更好的理解上述技術(shù)方案,下面將結(jié)合說明書附圖以及具體的實施方式對上述技術(shù)方案進(jìn)行詳細(xì)的說明。本申請一實施例提供一種三維圖像數(shù)據(jù)處理方法,所述方法應(yīng)用在一電子設(shè)備中,實施該方法的電子設(shè)備可以為計算機等,具體為臺式電腦、筆記本電腦、一體機等等,為了后續(xù)介紹方便,在后續(xù)介紹中,都以該電子設(shè)備為計算機為例,對其進(jìn)行詳細(xì)介紹。如圖1所述,所述三維圖像數(shù)據(jù)處理方法包括如下步驟:SlOl:獲得第一三維圖像數(shù)據(jù),其中所述第一三維圖像數(shù)據(jù)為待加載入內(nèi)存的三維圖像數(shù)據(jù);按照計算機的處理方式,內(nèi)存數(shù)據(jù)加載采用先入先出原則,也就是說先進(jìn)入內(nèi)存的數(shù)據(jù)先進(jìn)行處理,后進(jìn)入內(nèi)存的數(shù)據(jù)后進(jìn)行處理;先進(jìn)入內(nèi)存的數(shù)據(jù)處理完畢后,先將占用的內(nèi)存空間予以釋放;后進(jìn)入內(nèi)存的數(shù)據(jù)處理完畢后,后將占用的內(nèi)存空間予以釋放。在具體實施過程中,計算機按照三維模型的加載機制,獲得第一三維圖像數(shù)據(jù),該第一三維圖像數(shù)據(jù)為待加載入內(nèi)存的三維圖像數(shù)據(jù),其中,該第一三維圖像數(shù)據(jù)的獲得可以是多種方式,比如按照視錐體裁剪技術(shù)確定的,也可以是LOD技術(shù)確定的,或者是視錐體裁剪技術(shù)和LOD技術(shù)綜合考慮予以確定的。鑒于上述兩種技術(shù)本領(lǐng)域技術(shù)人員的常用技術(shù)手段,本發(fā)明不予具體介紹。在基于步驟SlOl獲得第一三維圖像數(shù)據(jù)之后,就可以執(zhí)行步驟S102,即:將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存中;在具體實施過程中,該第一三維圖像數(shù)據(jù)加載入內(nèi)存,并按照先進(jìn)先出原則處于內(nèi)存空間的最末端,也就是說,該第一三維圖像數(shù)據(jù)將最后被計算機所渲染處理。在基于步驟S102將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存之后,就可以執(zhí)行步驟S103,即:檢測將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存后的第一內(nèi)存狀態(tài)信息;在具體實施過程中,該第一三維圖像數(shù)據(jù)加載入內(nèi)存后,會引起內(nèi)存狀態(tài)信息的改變,故本步驟檢測第一三維圖像數(shù)據(jù)加載入內(nèi)存后的第一內(nèi)存狀態(tài)信息,該第一內(nèi)存狀態(tài)信息主要是表征內(nèi)存的使用狀態(tài),并將該信息及時反饋給計算機,以便于計算機根據(jù)內(nèi)存的使用狀態(tài)信息動態(tài)調(diào)整三維模型的加載方式。在基于步驟S103檢測將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存后的第一內(nèi)存狀態(tài)信息之后,就可以執(zhí)行步驟S104,即:當(dāng)根據(jù)所述第一內(nèi)存狀態(tài)信息獲得第一內(nèi)存使用率;在具體實施過程中,根據(jù)第一內(nèi)存狀態(tài)信息即可計算出第一內(nèi)存使用率,一般而言,將已占用內(nèi)存的空間值除以所有可供加載使用的內(nèi)存空間值即可得出內(nèi)存使用率,公式一可為:內(nèi)存使用率=已占用內(nèi)存的空間值/所有可供加載使用的內(nèi)存空間值;同時,鑒于內(nèi)存狀態(tài)信息不僅僅包含了上述已占用內(nèi)存的空間值、所有可供加載使用的內(nèi)存空間值,還可以包含所有三維圖像數(shù)據(jù)在內(nèi)存中的排隊情況、每個三維圖像數(shù)據(jù)的內(nèi)存占用情況等,所以,為了更好的提升內(nèi)存的使用率,可以通過內(nèi)存狀態(tài)信息動態(tài)調(diào)整內(nèi)存使用率的計算值,舉例來說,公式二可為:內(nèi)存使用率=(1-正在處理的三維圖像數(shù)據(jù)/已占用內(nèi)存的空間值)* (已占用內(nèi)存的空間值/所有可供加載使用的內(nèi)存空間值)通過公式二可以調(diào)整內(nèi)存使用率的計算值,可以更精確的確定是否達(dá)到了內(nèi)存的預(yù)定使用率閾值,使得更多的三維圖像數(shù)據(jù)能夠進(jìn)入到內(nèi)存中進(jìn)行處理,提升計算機的計算效率。進(jìn)一步的,上述公式一和公式二是根據(jù)內(nèi)存狀態(tài)信息確定內(nèi)存使用率的具體方式,本領(lǐng)域的技術(shù)人員能夠根據(jù)內(nèi)存狀態(tài)信息設(shè)計其他的計算方案,本實施率并不限定具體的計算方式。在基于步驟S104當(dāng)根據(jù)所述第一內(nèi)存狀態(tài)信息獲得第一內(nèi)存使用率之后,就可以執(zhí)行步驟S105,即:比較所述第一內(nèi)存使用率與預(yù)定內(nèi)存使用率閾值;在具體實施過程中,預(yù)定內(nèi)存使用率閾值主要可以通過如下方式予以確定:第一種,恒定的預(yù)定內(nèi)存使用率閾值,也就是說,對于三維模型的加載和渲染過程中,不論計算機的類型、配置等信息,其內(nèi)存使用率的預(yù)定閾值為恒定值,該恒定值可以設(shè)定為85%、95%等值,本實施例并不具體限定預(yù)定閾值的具體值,系統(tǒng)可以設(shè)定在任何計算機或者任何使用狀態(tài)下,均與恒定值進(jìn)行比較。第二種,自動確定的預(yù)定內(nèi)存使用率閾值,也就是說,該預(yù)定內(nèi)存使用率閾值時根據(jù)計算機的類型、配置、使用狀態(tài)等信息予以綜合考量的,具體如圖2所示,S1051:檢測三維圖像數(shù)據(jù)處理的設(shè)備參數(shù)信息;S1052:根據(jù)所述三維 圖像數(shù)據(jù)處理的設(shè)備參數(shù)信息,確定預(yù)定內(nèi)存使用率閾值。具體而言,所述三維圖像數(shù)據(jù)處理的設(shè)備參數(shù)信息可以包括,如以計算機為例予以說明,計算機配置信息,比如計算機的內(nèi)存大小、CPU的處理能力、顯卡處理能力、硬盤的
類型等;計算機的使用狀態(tài)信息,比如外界溫度、濕度、大氣壓等信息;或者,計算機正在運行的應(yīng)用程序信息等;在本發(fā)明實施例中,綜合考慮計算機配置信息、計算機使用狀態(tài)信息等確定所述內(nèi)存使用率閾值。同時,根據(jù)上述兩種信息確定內(nèi)存使用率屬于本領(lǐng)域技術(shù)人員應(yīng)用本領(lǐng)域常識很容易想到和得到的所述內(nèi)存使用率閾值,本發(fā)明實施例不予詳細(xì)描述。在基于步驟S105比較所述第一內(nèi)存使用率與預(yù)定內(nèi)存使用率閾值之后,就可以執(zhí)行步驟Sioejp:若所述第一內(nèi)存使用率大于所述預(yù)定內(nèi)存使用率閾值,則停止向所述內(nèi)存加載三維圖像數(shù)據(jù)。在具體實施過程中,為了保證系統(tǒng)不崩潰,必須保證第一內(nèi)存使用率小于預(yù)定內(nèi)存使用率閾值,所以,若所述第一內(nèi)存使用率大于所述預(yù)定內(nèi)存使用率閾值,則停止向所述內(nèi)存加載三維圖像數(shù)據(jù)。進(jìn)一步的,在基于步驟S105比較所述第一內(nèi)存使用率與預(yù)定內(nèi)存使用率閾值之后,還可以執(zhí)行步驟S107,即:若所述第一內(nèi)存使用率小于所述預(yù)定內(nèi)存使用率閾值,則繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù)。進(jìn)一步的,在執(zhí)行步驟S106之后,系統(tǒng)將處于停止向內(nèi)存加載三維圖像數(shù)據(jù)的狀態(tài)中,鑒于計算機處理內(nèi)存中的三維圖像數(shù)據(jù)是一個動態(tài)的過程,所以在S106之后,還需要動態(tài)檢測內(nèi)存的狀態(tài)信息,當(dāng)內(nèi)存使用率低于內(nèi)存使用率閾值的時候,重新啟動對三維圖像數(shù)據(jù)的加載,具體實現(xiàn)方式有如下三種:第一種,通過內(nèi)存使用率的比較確定是否繼續(xù)加載三維圖像數(shù)據(jù),具體如圖3所示:S1081::檢測所述內(nèi)存的第二內(nèi)存狀態(tài)信息;S1082:根據(jù)所述第二內(nèi)存狀態(tài)信息獲得第二內(nèi)存使用率;S1083:當(dāng)所述第二內(nèi)存使用率小于所述第一內(nèi)存使用率時,則繼續(xù)向所述內(nèi)存加
載三維圖像數(shù)據(jù)。具體而言,步驟S1081-1083是通過檢測內(nèi)存的實時使用率,并判斷第二內(nèi)存使用率小于第一內(nèi)存使用率的時候,系統(tǒng)確定內(nèi)存具有加載空間,并繼續(xù)向內(nèi)存加載三維圖像數(shù)據(jù),本實施例通過檢測內(nèi)存使用率的變化情況確定是否繼續(xù)想所述內(nèi)存加載三維圖像數(shù)據(jù)。
第二種,通過檢測是否有三維圖像數(shù)據(jù)處理完畢,讓出了內(nèi)存空間,具體如圖4所示:S1091:檢測所述內(nèi)存中是否有第二三維圖像數(shù)據(jù)處理完畢;S1092:當(dāng)有所述第二三維圖像數(shù)據(jù)處理完畢時,則繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù)。具體而言,步驟S1091-1092主要是檢測是否有三維圖像數(shù)據(jù)處理完畢,讓出內(nèi)存空間,本實施例通過檢測數(shù)據(jù)處理完畢的方式確定是否繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù)。為了更好的提升內(nèi)存使用率較高時候的加載速度,本發(fā)明實施例提供了一種根據(jù)內(nèi)存已釋放空間值來確定待加載三維圖像信息的選擇,具體如圖5所示:S1093:當(dāng)有所述第二三維圖像數(shù)據(jù)處理完畢時,釋放所述第二三維圖像數(shù)據(jù)所占用的內(nèi)存空間;S1094:獲得所述內(nèi)存的已釋放空間值;S1095:根據(jù)所述已釋放空間值確定第三三維圖像數(shù)據(jù),并將所述第三三維圖像數(shù)據(jù)加載入所述內(nèi)存。第三種,通過檢測內(nèi)存中的三維圖像數(shù)據(jù)是否是當(dāng)前需要呈現(xiàn)的數(shù)據(jù),如不是,則讓出內(nèi)存空間。如圖5所示:SllOl:獲得當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù);具體而言,所述獲得當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù)是指在內(nèi)存中等待處理或正在處理的三維圖像數(shù)據(jù)。S1102:判斷所述內(nèi)存已加載的第四三維圖像數(shù)據(jù)是否為所述當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù);具體而言,將獲得的內(nèi)存中的所有三維圖像數(shù)據(jù)后,根據(jù)當(dāng)前需要呈現(xiàn)給用戶的三維圖像數(shù)據(jù)信息,判斷內(nèi)存中的三維圖像數(shù)據(jù)是否仍為需要處理的數(shù)據(jù)。S1103:當(dāng)所述所述內(nèi)存已加載的第四三維圖像數(shù)據(jù)不是所述當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù)信息時,則卸載所述第四三維圖像數(shù)據(jù)。舉例而言,當(dāng)系統(tǒng)停止向內(nèi)存加載三維圖像數(shù)據(jù)的時候,獲得當(dāng)前內(nèi)存中的所有三維圖像數(shù)據(jù),比如獲得內(nèi)存中正在加載的零件1,待加載的零件2,同時,檢測當(dāng)前需要給用戶呈現(xiàn)的三維圖像數(shù)據(jù),比如當(dāng)前需要呈現(xiàn)的為正在加載的零件1,不需要呈現(xiàn)待加載的零件2,也就是說,當(dāng)系統(tǒng)確定內(nèi)存中存在的待加載的零件2為當(dāng)前不需要呈現(xiàn)給用戶的信息時,系統(tǒng)自動卸載待加載的零件2,以便快速空閑出內(nèi)存空間,使需要給用戶呈現(xiàn)的信息快速進(jìn)入內(nèi)存中處理。如上所述步驟1101-1103主要是檢測內(nèi)存中的三維圖像數(shù)據(jù)是否是當(dāng)前需要處理的三維圖像數(shù)據(jù),若是否,自動清理出內(nèi)存。本實施例通過檢測內(nèi)存中的三維圖像數(shù)據(jù)是否需要處理并當(dāng)不需要處理的時候自動清除的方式確定繼續(xù)想所述內(nèi)存加載三維圖像數(shù)據(jù)。本發(fā)明另一實施例還提供一種電子設(shè)備,該電子設(shè)備包括:第一獲得模塊,用于第一三維圖像數(shù)據(jù),其中所述第一三維圖像數(shù)據(jù)為待加載入內(nèi)存的三維圖像數(shù)據(jù);第一加載模塊,用于將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存中;第一檢測模塊,用于將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存后的第一內(nèi)存狀態(tài)信息;第二獲得模塊,用于根據(jù)所述第一內(nèi)存狀態(tài)信息獲得第一內(nèi)存使用率;第一比較模塊,用于比較所述第一內(nèi)存使用率與預(yù)定內(nèi)存使用率閾值;第一執(zhí)行模塊,用于若所述第一內(nèi)存使用率大于所述預(yù)定內(nèi)存使用率閾值,則停止向所述內(nèi)存加載三維圖像數(shù)據(jù)。進(jìn)一步的,該電子設(shè)備還包括:第二執(zhí)行模塊,用于若所述第一內(nèi)存使用率小于所述預(yù)定內(nèi)存使用率閾值,則繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù)。進(jìn)一步的,該電子設(shè)備還包括:第二檢測模塊,用于檢測所述內(nèi)存中是否有第二三維圖像數(shù)據(jù)處理完畢;第三執(zhí)行模塊,用于當(dāng)有所述第二三維圖像數(shù)據(jù)處理完畢時,則繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù)。進(jìn)一步的,該電子設(shè)備還包括:第四執(zhí)行模塊,用于當(dāng)有所述第二三維圖像數(shù)據(jù)處理完畢時,釋放所述第二三維圖像數(shù)據(jù)所占用的內(nèi)存空間;第三獲得模塊,用于獲得所述內(nèi)存的已釋放空間值;第五執(zhí)行模塊,用于根據(jù)所述已釋放空間值確定第三三維圖像數(shù)據(jù),并將所述第三三維圖像數(shù)據(jù)加載入所述內(nèi)存。進(jìn)一步的,該電子設(shè)備還包括:第四獲得模塊,用于獲得當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù);第一判斷模塊,用于判斷所述內(nèi)存已加載的第四三維圖像數(shù)據(jù)是否為所述當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù);第六執(zhí)行模塊,當(dāng)所述所述內(nèi)存已加載的第四三維圖像數(shù)據(jù)不是所述當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù)信息時,則卸載所述第四三維圖像數(shù)據(jù)。本實施例中的電子設(shè)備與前述實施例中的三維圖像數(shù)據(jù)處理方法是基于同一發(fā)明構(gòu)思下的兩個方面,在前面已經(jīng)對方法的實施過程作了詳細(xì)的描述,所以本領(lǐng)域技術(shù)人員可根據(jù)前述描述清楚的了解本實施例中的電子設(shè)備的結(jié)構(gòu)及實施過程,為了說明書的簡潔,在此不再贅述。本申請?zhí)峁┑囊粋€或多個技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點:(I)由于在本申請實施例中,動態(tài)檢測進(jìn)入內(nèi)存的模型數(shù)據(jù)量,并比較實時的內(nèi)存使用率與預(yù)定內(nèi)存使用率閾值,當(dāng)系統(tǒng)內(nèi)存不足時能夠自動停止模型加載,保護系統(tǒng)不會發(fā)生崩潰。(2)由于在本申請實施例中,當(dāng)達(dá)到實時的內(nèi)存使用率大于預(yù)定內(nèi)存使用率閾值的時候,優(yōu)先將不屬于視野內(nèi)的模型數(shù)據(jù)予以刪除,保證了優(yōu)先級高的模型數(shù)據(jù)進(jìn)入內(nèi)存中,保證系統(tǒng)加載和渲染的高效性,并提升了用戶的體驗性。(3)由于在本申請實施例中,預(yù)先檢測計算機的基本性能,并根據(jù)基本性能信息自動確定最優(yōu)的內(nèi)存使用率閾值信息,保證達(dá)到計算機的最佳運行狀態(tài),保證模型加載和渲染的高效性。(4)由于在本申請實施例中,在達(dá)到內(nèi)存使用率閾值后,計算機動態(tài)監(jiān)測內(nèi)存的釋放空間值,并將釋放空間值作為選擇因素確定待加載數(shù)據(jù),提升了內(nèi)存的整體加載效率。(5 )由于在本申請實施例中,將視錐體裁剪和/或LOD技術(shù)與本發(fā)明的技術(shù)方案結(jié)合應(yīng)用,達(dá)到了最佳的三維圖像數(shù)據(jù)加載方法。盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種三維圖像數(shù)據(jù)處理方法,其特征在于: 獲得第一三維圖像數(shù)據(jù),其中所述第一三維圖像數(shù)據(jù)為待加載入內(nèi)存的三維圖像數(shù)據(jù); 將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存中; 檢測將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存后的第一內(nèi)存狀態(tài)信息; 根據(jù)所述第一內(nèi)存狀態(tài)信息獲得第一內(nèi)存使用率; 比較所述第一內(nèi)存使用率與預(yù)定內(nèi)存使用率閾值; 若所述第一內(nèi)存使用率大于所述預(yù)定內(nèi)存使用率閾值,則停止向所述內(nèi)存加載三維圖像數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,還包括: 若所述第一內(nèi)存使用率小于所述預(yù)定內(nèi)存使用率閾值,則繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù)。
3.如權(quán)利要求1所述的方法,其特征在于,在所述停止向所述內(nèi)存加載三維圖像數(shù)據(jù)之后,還包括: 檢測所述內(nèi)存中是否有第二三維圖像數(shù)據(jù)處理完畢; 當(dāng)有所述第二三維圖像數(shù)據(jù)處理完畢時,則繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù)。
4.如權(quán)利要求3所述的方法,其特征在于,所述當(dāng)有所述第二三維圖像數(shù)據(jù)處理完畢時,則繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù),還包括: 當(dāng)有所述第二三維圖像數(shù)據(jù)處理完畢時,釋放所述第二三維圖像數(shù)據(jù)所占用的內(nèi)存空間; 獲得所述內(nèi)存的已釋放空間值; 根據(jù)所述已釋放空間值確定第三三維圖像數(shù)據(jù),并將所述第三三維圖像數(shù)據(jù)加載入所述內(nèi)存。
5.如權(quán)利要求1所述的方法,其特征在于,在所述停止向所述內(nèi)存加載三維圖像數(shù)據(jù)之后,還包括: 獲得當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù); 判斷所述內(nèi)存已加載的第四三維圖像數(shù)據(jù)是否為所述當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù); 當(dāng)所述所述內(nèi)存已加載的第四三維圖像數(shù)據(jù)不是所述當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù)信息時,則卸載所述第四三維圖像數(shù)據(jù)。
6.—種電子設(shè)備,其特征在于,包括: 第一獲得模塊,用于第一三維圖像數(shù)據(jù),其中所述第一三維圖像數(shù)據(jù)為待加載入內(nèi)存的三維圖像數(shù)據(jù); 第一加載模塊,用于將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存中; 第一檢測模塊,用于將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存后的第一內(nèi)存狀態(tài)信息; 第二獲得模塊,用于根據(jù)所述第一內(nèi)存狀態(tài)信息獲得第一內(nèi)存使用率; 第一比較模塊,用于比較所述第一內(nèi)存使用率與預(yù)定內(nèi)存使用率閾值; 第一執(zhí)行模塊,用于若所述第一內(nèi)存使用率大于所述預(yù)定內(nèi)存使用率閾值,則停止向所述內(nèi)存加載三維圖像數(shù)據(jù)。
7.如權(quán)利要求6所述的電子設(shè)備,其特征在于,所述電子設(shè)備還包括: 第二執(zhí)行模塊,用于若所述第一內(nèi)存使用率小于所述預(yù)定內(nèi)存使用率閾值,則繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù)。
8.如權(quán)利要求6所述的電子設(shè)備,其特征在于,所述電子設(shè)備還包括: 第二檢測模塊,用于檢測所述內(nèi)存中是否有第二三維圖像數(shù)據(jù)處理完畢; 第三執(zhí)行模塊,用于當(dāng)有所述 第二三維圖像數(shù)據(jù)處理完畢時,則繼續(xù)向所述內(nèi)存加載三維圖像數(shù)據(jù)。
9.如權(quán)利要求8所述的電子設(shè)備,其特征在于,所述電子設(shè)備還包括: 第四執(zhí)行模塊,用于當(dāng)有所述第二三維圖像數(shù)據(jù)處理完畢時,釋放所述第二三維圖像數(shù)據(jù)所占用的內(nèi)存空間; 第三獲得模塊,用于獲得所述內(nèi)存的已釋放空間值; 第五執(zhí)行模塊,用于根據(jù)所述已釋放空間值確定第三三維圖像數(shù)據(jù),并將所述第三三維圖像數(shù)據(jù)加載入所述內(nèi)存。
10.如權(quán)利要求6所述的電子設(shè)備,其特征在于,所述電子設(shè)備還包括:第四獲得模塊,用于獲得當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù); 第一判斷模塊,用于判斷所述內(nèi)存已加載的第四三維圖像數(shù)據(jù)是否為所述當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù); 第六執(zhí)行模塊,當(dāng)所述所述內(nèi)存已加載的第四三維圖像數(shù)據(jù)不是所述當(dāng)前需要呈現(xiàn)的三維圖像數(shù)據(jù)信息時,則卸載所述第四三維圖像數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種三維圖像數(shù)據(jù)處理方法,包括獲得第一三維圖像數(shù)據(jù),其中所述第一三維圖像數(shù)據(jù)為待加載入內(nèi)存的三維圖像數(shù)據(jù);將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存中;檢測將所述第一三維圖像數(shù)據(jù)加載入內(nèi)存后的第一內(nèi)存狀態(tài)信息;根據(jù)所述第一內(nèi)存狀態(tài)信息獲得第一內(nèi)存使用率;比較所述第一內(nèi)存使用率與預(yù)定內(nèi)存使用率閾值;若所述第一內(nèi)存使用率大于所述預(yù)定內(nèi)存使用率閾值,則停止向所述內(nèi)存加載三維圖像數(shù)據(jù)。本發(fā)明通過動態(tài)檢測進(jìn)入內(nèi)存的模型數(shù)據(jù)量,并比較實時的內(nèi)存使用率與預(yù)定內(nèi)存使用率閾值,當(dāng)系統(tǒng)內(nèi)存不足時能夠自動停止模型加載,保護系統(tǒng)不會發(fā)生崩潰。
文檔編號G06T19/00GK103208136SQ20121023533
公開日2013年7月17日 申請日期2012年7月6日 優(yōu)先權(quán)日2012年7月6日
發(fā)明者任利偉, 張平, 耿蓓蕾, 張強 申請人:北京中盈高科信息技術(shù)有限公司