其實山寨也不容易

2021-05-24 07:30:41 字數 1305 閱讀 2360

一路做來,幾乎塊兩年了。

又是乙個莫名的問題,導致乙個晚上的時間來除錯。

還是那句老話,寫**容易,調**難。

問題描述如下:

發現當載入了模型之後,有一定概率退出會出現d3d資源沒有釋放完的錯誤。

一步步排除:

1,除錯**,確定新寫的模型管理器沒有問題,因為這裡是新**,出錯的概率是最大的。

反覆很多次後,沒有發現問題。

2,嘗試讓bug復現

操作                                            結果                           結論

分別加多個模型和1個模型          bug偶爾會出現                   和模型,紋理資料量無關

不顯示模型                              bug偶爾會出現                 完全排除和新寫的紋理管理器有關係

這裡經過多次操作,終於可以百分百復現問題

當雙擊模型飛行後 不出現問題

但是雙擊那個包含lookat的空的placemark   出現問題

那說明問題出在應用層**的flytofeature

這回簡單了,證明問題徹底跟最近新寫的**無關

flytofeature 內實際呼叫兩個com元件,乙個是相機,乙個是地形

經過排除,證明問題出在地形節點

實際上這裡只呼叫了地形了的getheight介面,除錯發現和getheight函式沒有關係。

如果在以前,那麼無論如何也解決不了這個問題的。

幸好最近此類問題碰到的太多了,手到擒來。

退出的時候有d3d資源沒有釋放,那麼證明地形節點的釋放有問題

這裡要說明乙個問題,com元件內一般有finalrelease函式,當com元件最後一次釋放時,會呼叫,所以大部分的釋放函式都寫在這裡

但是通過c# 呼叫com後,com物件的析構無法控制,導致不一定能呼叫finalrelease

所以像d3d資源的釋放最好不要放這裡

調整內部一些資源的釋放位置,問題解決。。。

今天順道解決另乙個光照問題:

描述:當近距離觀察模型時,模型變黑

這個明顯是光照導致的,至於為什麼也一直沒想明白

今天調上面的問題時候,突然靈光一閃,我使用的光照方向都是通過視點-模型中心點獲得,近距離觀察模型邊緣的時候,光照和法向量都垂直了,當然黑了

修改為視點方向,一切ok了

支援kmz/dae模型的好處是google 模型庫有取之不盡,用之不盡的免費模型,很給力的

每天都在進步,哪怕速度像蝸牛,你也是充實的。。。希望一切的努力不要白費。

請善待老公,其實男人不容易

有一種現象,稍留心些就發現 老年人中,很多只剩下一位女的,男人比女人要早許多年就過世。我們到晚年,不管年紀多大,也不管身體狀態怎麼樣,只要有老公始終陪著你,就算活到八十,活到九十,活到一百,你也不會感到淒涼和孤獨。即使到了暮年,夫妻相伴,白天一起看電視看報紙聽收音機,一起旅遊一起到好朋友家喝茶聊天,...

不容易系列

題目描述 你活的不容易,我活的不容易,他活的也不容易。不過,如果你看了下面的故事,就會知道,有位老漢比你還不容易。重慶市郊黃泥板村的徐老漢 大號徐東海,簡稱xdh 這兩年辛辛苦苦養了不少羊,到了今年夏天,由於眾所周知的高溫乾旱,實在沒辦法解決牲畜的飲水問題,就決定把這些羊都趕到集市去賣。從黃泥板村到...

做領導不容易

最近一直在煩惱工作的事情,其中最關鍵的原因就是領導,不喜歡間接領導的做事方式,導致最後,他所做的一切都不喜歡,從而造成對現在的工作失去了信心,失去了工作的激情,失去了動力。俗話說 旁觀者清。當從乙個旁觀者的角度去看事情的時候,真的覺得做乙個領導其實挺不容易的,會失去很多,當然也會得到很多。發現其實當...