日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

程序给UI美术上的必修课:内存占用, DrawCall和包大小的处理

發布時間:2024/9/3 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 程序给UI美术上的必修课:内存占用, DrawCall和包大小的处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


一個手游的圖形技術關鍵性指標是: 內存占用, DrawCall和包大小。

這三個參數是訓練有素的程序和UI美術都需要關注的重要問題。

接下來我們來講解下UI美術怎么對待這三個問題。

內存占用

手機的內存不會明顯區分內存和顯存, 大部分都是共享訪問的. 這里說的內存, 一般可以通過一些工具直接看到, 比如說XCode等圖形上對內存影響最大的就是紋理, 而紋理上最關鍵的問題就是紋理的大小, 也就是紋理面積。

我曾經見過一些訓練不是那么有素的UI美術, 用鼠標選中幾個png文件, 點擊屬性告訴我: 諾, 你都看到了, 我這邊的圖片才占幾kb, 為啥你總是說內存占用大紋理的內存占用, 只決定于紋理的面積以及發色數, 紋理面積就是長乘寬(像素), 發色數就是一般常說的: 16位色, 32位色。

之所以把內存占用放在首位, 是因為, 大多數的手機一旦超過限定內存就會開始清理后臺掛起的程序, 實在清理不了只有殺掉最占內存的程序,這就肯定殺到了你寫的游戲之上。

DrawCall(DC)

美術來理解這個概念可以這么說:??繪制一張圖片需要耗費1次DC, 假設界面上有10個圖標, 那就需要耗費10個DC。

而一般手游的DC需要限定在150個之內, 如何降低DC呢, 就需要通過Atlas技術來合并圖片。

將多張圖片打到一張紋理上的技術被叫做Atlas, 俗稱大圖或者圖集, 被打之前的圖也就叫小圖。大圖上的每個圖元素叫做精靈。每個精靈被繪制無數次最終也只會耗費1個DC。

但我們不能把所有游戲用到的圖片都打成圖集, 這并不劃算,我們會根據圖的使用頻率, 用途來按需打圖集。

比如說:

1. 進游戲只看一次的宣傳圖, 為了方便制作和加載迅速, 做一張整圖動態加載會比較好。

2. 反復查看的圖標, 因為數量相對固定,數量不會膨脹, 我們就做成圖集。

3. 但是類似于刀塔傳奇中50+英雄, 普通玩家看不到那么多英雄但又被打成圖集是不劃算的, 所以損失一點DC按小圖繪制及加載是正確方法。

4. 一般時候, 我們將尺寸小的圖片打成圖集, 配合大尺寸圖片同時加載。

包大小

包大小對于游戲來說, 會影響的是玩家首次下載的時間, 如果連游戲都不下載, 做的再漂亮的游戲也是沒用的。

降低包大小的方法很多, 例如:

1. 分包機制. 先玩小包, 根據需要下載大包, 多見于MMORPG

2. 良好的資源管理方法及習慣

3. 剔除冗余資源

4. 盡量使用3D渲染代替2D紋理圖片

以上3個概念是游戲美術, 程序必須了解的重要概念。但一個合格的美術, 除了事后優化, 還需要做的是事前優化。

事前優化包括: 在游戲立項后, UI美術需要了解基本的二手賣號平臺功能設計方案,出一套基本的對話框, 提示框, 圖標裝飾等的圖素, 這些資源往往只有不到512見方的資源。利用這些圖片可以拼湊出70%的界面及美化效果。在這之后的UI內容, 只是特效,動畫的設計。

一些道理:

1. 進游戲因為內存超標就崩潰, 再漂亮的圖片也是沒用的。

2. 游戲是多門藝術的綜合, 游戲美術的不僅要畫的好, 還要能做出優化的好的資源。

3. 手游和端游的美術資源標準有本質區別, 資源做出來是給人看的, 不是屏幕. 因此高低分辨率的搭配, 尤為重要。

4. 還是那句話, 多看看別人做的游戲, 多問問別人怎么做的。

總結

以上是生活随笔為你收集整理的程序给UI美术上的必修课:内存占用, DrawCall和包大小的处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。