這篇文章主要介紹redux有什么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)服務緊隨時代發(fā)展步伐,進行技術革新和技術進步,經(jīng)過10年的發(fā)展和積累,已經(jīng)匯集了一批資深網(wǎng)站策劃師、設計師、專業(yè)的網(wǎng)站實施團隊以及高素質(zhì)售后服務人員,并且完全形成了一套成熟的業(yè)務流程,能夠完全依照客戶要求對網(wǎng)站進行網(wǎng)站設計制作、網(wǎng)站制作、建設、維護、更新和改版,實現(xiàn)客戶網(wǎng)站對外宣傳展示的首要目的,并為客戶企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。Substance Redux 是一款紋理處理軟件加中間件,專門用于紋理生成和壓縮。具其用戶指南介紹,它能夠?qū)y理集進行優(yōu)化,可以將現(xiàn)有壓縮算法的性能提高50%或更多。其壓縮方式可是無損壓縮,也可以是無損壓縮。壓縮時可以由用戶自定義壓縮比和圖像質(zhì)量。
Redux可以針對批量紋理文件進行壓縮打包。操作流程是新建一個Project項目,為該項目導入若干個紋理文件,可以設置每一個紋理的壓縮參數(shù)。最后導出壓縮文件。Redux可以對多種格式的圖像文件進行壓縮。如果輸入圖像的長寬不為2的N次冪,Redux會自動將其拉伸至2的N次冪。ReduxSDK提供的Demo中將壓縮文件解壓成符合DDS格式的功能。
Redux大的賣點在于其圖像生成功能,它可以用若干個簡單的圖元,經(jīng)過算法生成復雜的圖像.圖元只需要占用很小的磁盤空間,生成方法的保存也用不了多少磁盤空間,按他們官方的說法,游戲中占用磁盤大的部分是紋理,而使用了Redux可以將紋理占用的磁盤空間降低到最小,從而最多能將游戲的發(fā)布包大小降低到二分之一.
二.Redux 壓縮方式
Redux 提供3種紋理壓縮方式:
Redux Mode 1(Redux 模式 1)是無損壓縮算法,在大多數(shù)情況下壓縮比最小。但是,通常它的渲染速度最快。
Redux mode 2(Redux 模式 2)是提供高質(zhì)量圖像的快速壓縮算法,但是尺寸縮減率為 40% 左右。
Redux mode 3(Redux 模式 3)實現(xiàn)了圖像質(zhì)量和尺寸縮減率的大致均衡。圖像質(zhì)量低于模式 2,但是通過此模式可以獲得更高的壓縮比。尺寸縮減率為60% 左右。
在實際操作中,我將300張DDS文件進行壓縮,發(fā)現(xiàn)Redux mode 2與Redux mode 3生成的文件大小是一樣的。我當時沒有在意這些DDS文件具體是什么壓縮格式,估計大部分為DXT5的.
三.Redux 壓縮文件
Redux 主要針對批量紋理文件進行壓縮,壓縮后的文件分為兩類。一個“頭”文件,包含主要數(shù)據(jù)文件的目錄并向解壓縮代碼提供每個紋理的位置。該文件的擴展名為 .RDXH,用于存儲每個紋理的詳細信息,例如紋理名稱、文件夾和路徑。一個或多個“數(shù)據(jù)”文件,包含實際已壓縮的紋理,這類文件的擴展名為.RDXC。第二類文件將采用“塊”。可以將所有紋理存儲在一個大文件中,這樣就只需要處理一個數(shù)據(jù)“塊”。對于導出的壓縮“塊”文件,可以有以下三種設置方式:
1. No Chunks(無塊)——即一個大數(shù)據(jù)文件,包含項目中每個單獨的紋理;
2. Chunks split according to a size limit(根據(jù)大小限制來分割塊)——例如,每 4 MB 數(shù)據(jù)創(chuàng)建一個新塊;
3. Chunks split according to content(根據(jù)內(nèi)容分割塊)——即為每個紋理創(chuàng)建一個新塊。此時會生成一個頭文件,若干個chunk文件。
生成壓縮文件之后,如果對原紋理文件有任何改動,則必需重新生成壓縮文件。這種壓縮方式不太符合我的想法。我所希望的是通過一個紋理名找到一個壓縮文件,加載該文件,解壓縮并生成紋理。如果使用Redux,引擎需要先加載一個.RDXH頭文件,生成一個Redux定義的ReduxHandle對象。然后根據(jù)紋理名找到紋理下標索引,再通過索引值使用Redux提供的接口獲取紋理數(shù)據(jù)。創(chuàng)建只含有一個紋理文件的Redux工程,這樣生成的壓縮文件中有含有一個紋理。這是很麻煩的事情,工作量會很大。
四.Redux 解壓縮
ReduxSDK提供的Demo中將壓縮文件解壓成符合DDS格式的數(shù)據(jù),我曾經(jīng)對其性能做過測試:首先使用300個DDS文件進行測試。原文件大小為59.6M,如果使用RAR壓縮后大小為25.9M。DDS的壓縮格式,當時沒有記錄,估計大部分為DXT5.
壓縮方式 | 文件大小 | 加載文件時間 | 同步創(chuàng)建紋理時間1 | 同步創(chuàng)建紋理時間2 |
不壓縮 | 59.6M | 2355ms | 6172 ms | 6133 ms |
Redux Mode1 無損壓縮 | 19.5M | 743ms | 25016 ms | 24985 ms |
Redux Mode2 40% reduction | 17.3M | 702ms | 25862 ms | 25860 ms |
Redux Mode3 50% reduction | 17.3M | 674ms | 25878 ms | 25911ms |
Redux Mode1 無損壓縮 Texture per chunk | 20.6M | 813ms (此為創(chuàng)ReduxHandle的時間) | 29027ms | 29089ms |
用引擎加載本地文件創(chuàng)建這300個紋理需要的時間約為8秒,通過解壓Redux文件來創(chuàng)建300個紋理需要花費30多秒時間,是本地加載的4倍。
針對不同大小的文件,創(chuàng)建紋理所使用的時間如下表所示:
紋理大小 | 文件大小 | 引擎加載創(chuàng)建時間 | Redux Mode1創(chuàng)建時間 | Redux Mode2創(chuàng)建時間 | Redux Mode3創(chuàng)建時間 |
128*128 | 11K | 1ms | 105 ms | 31 ms | 30 ms |
256*256 | 65K | 11 ms | 228 ms | 82 ms | 82 ms |
512*512 | 257K | 49 ms | 206 ms | 140 ms | 137 ms |
1024*1024 | 1025K | 176 ms | 297 ms | 418 ms | 415 ms |
2048*2048 | 5462K | 242 ms | 2263 ms | 2265 ms | 2294 ms |
五.圖像生成功能
使用若干個簡單的圖元,經(jīng)過算法生成復雜的圖像.這里大的問題是,美術無法適應這種做圖方式.正常情況下,美術用繪圖板在PS中做圖,而Redux則要求美術以解析的方式,先想象出一張圖由多少圖元組成,再設計好圖元的組合方式.如何讓圖元生成圖像,這種邏輯思維太顛覆了.一般人很難高效的用它提供的軟件做圖.就是因為這個原因,最終這個中間件沒有使用.
六.軟件問題
(1)項目的屬性設置時,設置Mode2與Mode3生成的壓縮文件是一樣的。
(2)對單幅紋理的壓縮設置中Redux Mode3 與項目屬性中的Mode3不一樣。
設置Redux Mode2與Redux Mode3沒有任何區(qū)別.
(3)對于一些紋理文件壓縮后數(shù)據(jù)大小,要大于未處理的數(shù)據(jù)大小。
原DDS文件大小為6.475KB,壓縮后為6.682KB
原DDS文件大小為57.6KB,壓縮后為140.9KB
(4)使用有損壓縮,對一些紋理會產(chǎn)生明顯的斑駁.
(5)當時我使用的版本,如果紋理的數(shù)目過多,會導致軟件崩潰。
(6)Redux線程不安全,所以不能同時解壓多個紋理。
七.Redux 后記
我個人對Redux的感覺是:這個中間件很奇怪.目前的發(fā)展,硬盤大小不是問題,內(nèi)存的消耗也不是問題.大的問題是提高效率.為了提高效率我們經(jīng)常使用一些用空間換時間的算法.而Redux則反其道而行之,它所做的無非是用時間換空間.以上這些材料還是我兩三年前整理的,文章中的性能測試數(shù)據(jù)僅供參考,不知道現(xiàn)在Redux發(fā)展的如何,也不太清楚市面上有多少游戲使用它.用Google搜索了下,也沒多少關于它的網(wǎng)頁.也許Redux會在移動游戲上有所發(fā)展,畢竟現(xiàn)在移動端的磁盤空間比PC端小了很多.
以上是“redux有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。