Laya資源優化(圖片、Josn、3D模型文件)


Laya資源優化(圖片、Josn、3D模型文件)

一、圖片占用內存計算:

  在webGL模式下:圖片高度 * 圖片寬度 * 一個像素占用的字節數(width * height * 4 byte,如:800 * 600的圖片占用內存1.83M = 1875KB = 1920000B = 600 * 800 * 4 byte)。

二、紋理壓縮(2D、3D)

  效果:降低顯存約75%,減少圖片解碼卡頓現象。

1、在游戲中,不使用紋理壓縮時,為了節省顯存的占用。通常的做法是:

  將原圖按低分辨率的機型進行設計,然后在游戲中拉伸適配高分辨率的機型。這樣就會導致游戲的馬賽克現象(很多小游戲在安卓的某些高清分辨機型上出現這種問題,一定是該問題導致的)。

2、在游戲中,使用紋理壓縮時:

  使用紋理壓縮的模式即使按高分辨率進行設計也是占用較小的顯存,所以在同等顯存占用情況下,在高分辨率的機型上,2D圖片壓縮效果會比拉伸效果更好。
  3D貼圖在壓縮后效果更好,壓縮對於原因的損失在視覺效果上幾乎忽略不計。

PS:
①、3D使用紋理壓縮后,視覺上基本看不出來,所以推薦使用。
②、但在2D使用紋理壓縮要慎重,靜態圖片(如:UI)盡量不要使用紋理壓縮功能,動態圖片(2D角色動畫等)則不會太明顯沒有高清畫質表現需求的可以使用。

  游戲中常見的圖片文件格式通常是pngjpg等,這些圖片需要先經過CPU解碼,然后傳送到GPU進行使用。而紋理壓縮后的格式,是無需解碼即可直接被GPU讀取並顯示的格式,所以,一方面是節省大量的顯存,另一方面也可以減少圖片解碼帶來的CPU壓力。

Ps:
  ①、紋理壓縮因為要依托於顯卡的硬件加速,所以只能是webGL模式下可用。
  ②、不同平台(操作系統)也有所不同。例如:Android平台是ktx格式,在ios平台是pvr格式。

  由於不同平台的格式不同,所以跨平台的游戲,使用紋理壓縮在降低顯存的同時,代價是增加了文件的大小,所以最終是要依據項目的情況來找到一個平衡點。

三、3D模型文件壓縮

  效果:降低模式文件尺寸約60%。
  3D游戲中模型是游戲資源體積的重要組成部分,所以減少模型文件的大小,可以縮短游戲的加載時長,加快玩家進入游戲的速度。在當前網速環境下,減少游戲體積還是比較重要的增值功能。

四、3D動畫文件壓縮

  效果:降低3D動畫文件尺寸約40%。
  3D動畫文件壓縮與模型壓縮一樣,作用是減少文件下載的大小,用於加快玩家進入游戲的速度。

五、文件合並(json與二進制)

  效果:可合並json類型的文本文件,大幅減少文件下載交互數量,提升游戲加載效率。
  當游戲的小文件比較多時,會大量增加http請求,使得加載變量,而合並文件功能可以將json類型的文件進行合並,這將減少文件的http請求數,從而提高加載效率。當然,如果盲目合並,也會在打包后增加文件的一次性下載時長。所以,開發者要依據項目的實際情況來使用,尤其是在小文件多的時候再用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM