在專案中,一開始使用flashocx做ui介面,後來買了scaleform,就成了兩種並存的情況.再後來的兩年半時間裡,有若干次的想把所有flashocx的介面翻成scaleform的.這個翻介面的工作不是我做,本來我認為不是什麼難事,畢竟二者的資源都是flash的swf檔案.但翻改起來,工作量比想像中的大得多.
flashocx這個模組起初不是我寫的,後來它的原作者走了,而正巧我在搞scaleform,好歹與flash有關聯,於是這個模組的維護工作就落在我頭上.整個整合**可讀性不強,完全是呼叫其介面,這一塊沒什麼好說的,無非是依照著demo,比著葫蘆畫瓢.好吧,我承認這一塊我也不太熟悉.
我對該模組做的最大的工作是實現了一套髒矩形合併演算法.flashocx之所以卡,是因為畫素拷貝耗時大.優化的辦法自然而然就是降低其畫素拷貝量.之前的矩形合併策略是簡單的矩形合併方式,取更新矩形的作左上點和最右下點形成新的矩形.這種策略會導致這樣的問題,如果左上角有一塊小矩形更新,右下角有一塊小矩形更新,合併的矩形就會相當大,從而重複繪製很多很多東西,導致效率低下。我寫了乙個髒矩形管理物件:
1class
dirtyrects
2;
外部只需呼叫若干次addrect(updaterect),內部會自動對矩形進行**與合併.當矩形過於碎小時,會自動對其做合併處理.記得寫這演算法碰到的最多問題是該重新整理的地方沒有重新整理,造成介面的殘影.
我所遭遇過的遊戲中介軟體 HumanIK
我所遭遇過的遊戲中介軟體 humanik 憑心而論,humanik是我接觸的autodesk的三款中介軟體中最讓我省心的,另外兩款是scaleform和kynapse.省心的原因是它的複雜程度比其他兩款小很多,更為重要的是,我做的專案壓根沒用使用到humanik.所以我對humanik的研究只是停留...
我所遭遇過的遊戲中介軟體 Redux
substance redux 是一款紋理處理軟體加中介軟體,專門用於紋理生成和壓縮。具其使用者指南介紹,它能夠對紋理集進行優化,可以將現有壓縮演算法的效能提高50 或更多。其壓縮方式可是無失真壓縮,也可以是無失真壓縮。壓縮時可以由使用者自定義壓縮比和影象質量。redux可以針對批量紋理檔案進行壓縮...
我所遭遇過的中介軟體 3D MAX SDK
搞圖形的人都知道3d max,而3d max sdk就是在該軟體基礎上的一套軟體開發包.至於該不該將3d max sdk歸納為中介軟體,不要在意這細節了,反正我覺得sdk和中 間件就差不多是乙個東西.實際上我看網上有些文章將中介軟體與外掛程式混為一談.在我看來,中介軟體是用於做軟體開發的,外掛程式則...