GPU Skinning不生效問題

2022-09-10 15:42:24 字數 3602 閱讀 3785

1)gpu skinning不生效問題

2)勾選凸包報的警告問題

3)unity 2019 壓縮格式選擇

4)android export打包對壓縮的影響

5)android記憶體中的unknown部分洩漏

q:unity版本:2019.3.0f6

shader:gpuskinningunlitskin2

測試scene :adam_player_crowd

測試手機 :samsung s5

請問我使用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也能使用?

a:參考官網文件,如下描述,並不支援opengl es 2.0。

感謝鄭驍@uwa問答社群提供了回答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.

我用******lod減面之後也沒有減到256個面,但是不報這個警告了,這個警告到底是怎麼回事?建模時候應該如何避免?

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

感謝fubbi1000@uwa問答社群提供了回答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,如何選擇好?

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

a1:個人覺得:

問題1,ios選astc,android選etc2比較好;

問題3&4,可以看看texture的官方文件,看完這個基本上你就能夠明白了,然後根據專案需求,相信能夠有個較為好的選擇。

感謝fubbi1000@uwa問答社群提供了回答

a2:現在tx新上線的專案已經開始普及astc的使用了,所以全面選擇astc,2019可以預設import的時候選擇astc,尤其是對光照貼圖和法線有很好的效果。unity現在預設是6x6,也可以根據專案選擇其它大小。

感謝鄭驍@uwa問答社群提供了回答q:在android gradle專案中,build.gradle有如下配置:

aaptoptions

現測試如果不將assetbundle配置到非壓縮的情況下,包體會縮減一些,大概和對assetbundle進行lzma壓縮的效果差不多。如果是用這種方式對壓縮包進行二次壓縮,解壓流程是怎麼樣的?對執行時效能有什麼影響嗎?現在根據我個人的經驗猜測,android apk包是安裝時解壓。也就是說,安裝完成後,無論是否二次壓縮,在硬碟裡面都是乙個樣子。還望有相關經驗的朋友講解一下。

a:android的apk包再安裝後是不解壓的,所以理論上執行時獲取裡面「二次壓縮」的bundle還需要乙個解壓步驟。也確實有開發者反饋過,如果改成了「二次壓縮」,assetbundle的載入以及從assetbundle中載入資源的耗時都會明顯變大。

所以,修改前建議用自身專案的assetbundle資源做一下測試,看這兩部分的耗時差異是否明顯。

該回答由uwa提供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(原群已滿員)

使用adb install安裝之後不生效問題解決

問題 本地debug過程中多次遇到採用adb install安裝成功,但是修改不生效的情況,多出現在第一次刷機完畢啟動時。具體解決方案是 採用adb push 先將apk推到對應目錄,然後重啟車機。此後再進行install就能生效了。今天新遇到乙個問題 在device fsl下新增資源檔案,然後編譯...

解決 bash profile配置不生效的問題

背景 比如我在.bash profile中設定了別名ll,每次都需要重新使用source bash profile才能生效。原因 在 bash profile 中配置環境變數,可是每次重啟終端後配置的不生效.需要重新執行 source bash profile zsh載入的是 zshrc檔案,而 z...

斷點不生效

我是單獨某乙個cpp檔案裡的斷點不生效了,工程內其他cpp檔案斷點還仍然生效!是由於我debug執行時候修改了該cpp檔案導致的。工具 選項 除錯 要求原始檔與原始版本完成匹配 去掉勾 require source files to exactly match the original versio...