GPU Skinning不生效問題

1)GPU Skinning不生效問題
2)勾選凸包報的警告問題
3)Unity 2019 圖片壓縮格式選擇
4)Android Export打包對壓縮的影響
5)Android內存中的Unknown部分泄漏html


Rendering

Q:Unity版本:2019.3.0f6
Shader:GPUSkinningUnlitSkin2
測試Scene :Adam_Player_Crowd
測試手機 :Samsung S5ide

請問我使用Git上的GPU Skinning在PC上測試DrawCall數是有下降的,同時沒有Animator.update的消耗,並且有Instancing,但build到Samaung S5上用Unity Profiler監看沒有Animator.update的開銷,但DrawCall沒有下降,也沒有Instancing,請問是有什麼部分沒有設定好嗎?性能

另外GPU Skinning若要使用Instancing僅限於OpenGL ES 3.0嗎? 仍是OpenGL ES 2.0也能使用?測試

PC
gradle

Samsung S5
網站

A:參考 官網文檔,以下描述,並不支持OpenGL ES 2.0。

感謝鄭驍@UWA問答社區提供了回答ui


Mesh

Q:有個複雜模型報警告:
Couldn’t create a Convex Mesh from source mesh 「**」 within the maximum polygons limit (256). The partial hull will be used. Consider simplifying your mesh.
我用SimpleLod減面以後也沒有減到256個面,可是不報這個警告了,這個警告究竟是怎麼回事?建模時候應該如何避免?spa

A:生成的Convex Mesh最多隻能有255個三角形。你原來的模型太複雜,255個三角形不夠用,不足以表示輪廓。

感謝fubbi1000@UWA問答社區提供了回答3d


Texture

Q:關於圖片壓縮格式選擇的問題,看了以前的博客,安卓選擇ETC2,蘋果選擇 PVRTC。如今項目升級到了Unity 2019.2.21f1,多了不少格式,想請教一下,下面幾個問題:(Unity版本:2019.2.21f1)
1. 新版本Unity 2019,Format中安卓和蘋果格式該如何選擇?
2. 安卓如今可使用ASTC格式了嗎,市場份額是多少?
3. Resize Algorithm,Override ETC2 fallback,分別表明意思以及如何選擇?
4. HDR ,6X6,10X10,如何選擇好?code

麻煩科普下,不勝感激,謝謝!

A1:我的以爲:
問題1,iOS選ASTC,Android選ETC2比較好;
問題3&4,能夠看看Texture的 官方文檔,看完這個基本上你就可以明白了,而後根據項目需求,相信可以有個較爲好的選擇。
感謝fubbi1000@UWA問答社區提供了回答

A2:如今tx新上線的項目已經開始普及ASTC的使用了,因此全面選擇ASTC,2019能夠默認import的時候選擇ASTC,尤爲是對光照貼圖和法線有很好的效果。Unity如今默認是6x6,也能夠根據項目選擇其它大小。
感謝鄭驍@UWA問答社區提供了回答


AssetBundle

Q:在Android Gradle項目中,build.gradle有以下配置:

aaptOptions
{
noCompress ‘.unity3d’, ‘.ress’, ‘.resource’, ‘.obb’
}

現測試若是不將AssetBundle配置到非壓縮的狀況下,包體會縮減一些,大概和對AssetBundle進行LZMA壓縮的效果差很少。若是是用這種方式對壓縮包進行二次壓縮,解壓流程是怎麼樣的?對運行時性能有什麼影響嗎?

如今根據我我的的經驗猜想,Android APK包是安裝時解壓。也就是說,安裝完成後,不管是否二次壓縮,在硬盤裏面都是一個樣子。還望有相關經驗的朋友講解一下。

A:Android的APK包再安裝後是不解壓的,因此理論上運行時獲取裏面「二次壓縮」的Bundle還須要一個解壓步驟。也確實有開發者反饋過,若是改爲了「二次壓縮」,AssetBundle的加載以及從AssetBundle中加載資源的耗時都會明顯變大。

因此,修改前建議用自身項目的AssetBundle資源作一下測試,看這兩部分的耗時差別是否明顯。
該回答由UWA提供


Memory

Q:請教一下,Android內存中Unknown這部分通常都是什麼?反覆進出一個場景,Unity的資源正常釋放,沒有泄漏,可是這個Unknown一直在增加。

A:這塊是經過mmap分配的匿名內存,用了LuaJIT,Lua內存是在這裏的;常規Lua的內存是經過malloc分配的,會出如今Native Heap;另一個大頭就是Mono內存了,Boehm GC在安卓上也是經過mmap分配的;再就是第三方so庫的內存分配。
感謝littlesome@UWA問答社區提供了回答

今天的分享就到這裏。固然,生有涯而知無涯。在漫漫的開發週期中,您看到的這些問題也許都只是冰山一角,咱們早已在UWA問答網站上準備了更多的技術話題等你一塊兒來探索和分享。歡迎熱愛進步的你加入,也許你的方法恰能解別人的燃眉之急;而他山之「石」,也能攻你之「玉」。

官網:www.uwa4d.com
官方技術博客:blog.uwa4d.com
官方問答社區:answer.uwa4d.com
UWA學堂:edu.uwa4d.com 官方技術QQ羣:793972859(原羣已滿員)

相關文章
相關標籤/搜索