How to solve the issue of GPU Skinning not taking effect
1) GPU Skinning does not take effect
2) Check the warning question of the convex hull report
3) Unity 2019 image compression format selection
4) The impact of Android Export packaging on compression
5) The Unknown part of Android memory leaks
RenderingQ: Unity Version: 2019.3.0f6
Test Scene: Adam_Player_Crowd
Test Device: Samsung S5
I used GPU Skinning on Git to test on the PC, finding that the number of DrawCalls decreased, and there is no consumption of Animator.update and the Instancing happened. When I built it on Samaung S5, there is no overhead of Animator.update in Unity Profiler, but the DrawCall didn’t decrease, and there is no Instancing. Is there any part that is not set?
In addition, is GPU Skinning limited to OpenGL ES 3.0 if I want to use Instancing? Or can I use it on OpenGL ES 2.0?
MeshQ: There is a warning about a complicated model:
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.
After I used SimpleLod to reduce the meshes, I didn’t reach 256, but this warning is no longer reported. What is going on with this warning? How to avoid it when modeling?
A: The generated Convex Mesh can only have up to 255 triangles. Your original model is too complicated, and 255 triangles are not enough to represent the outline.
TextureQ: Regarding the choice of image compression format, I read the previous blog saying that Android chooses ETC2 and Apple chooses PVRTC. Now the project has been upgraded to Unity 2019.2.21f1, more formats are available, so I would like to ask the following questions: (Unity version: 2019.2.21f1)
- In the new version of Unity 2019, how to choose the Format for Android and Apple?
- Is the ASTC format available for Android now, and what is the market share?
- What does Resize Algorithm and Override ETC2 fallback mean and how to choose?
- How to choose among HDR, 6X6, 10X10?
A1: Personally speaking, for Question 1, It is better to choose ASTC for iOS and ETC2 for Android;
For questions 3&4, you can look at the official documentation of Texture. After reading this, you can basically understand it. Then, according to the needs of the project, I believe there will be a good choice.
A2: Now the newly launched projects of tx have begun to popularize the use of ASTC, so ASTC can be fully selected in your case. In 2019, ASTC can be selected by default when importing, especially for lightmaps and normals. Unity now defaults to use 6×6, but other sizes can be selected according to the project.
AssetBundleQ: The settings of build.gradle in an Android Gradle product are as follows:
noCompress ‘.unity3d’, ‘.ress’, ‘.resource’, ‘.obb’
In the current test, if the AssetBundle is not configured to be uncompressed, the package body will be reduced a bit, which has almost the same the effect as LZMA compression on the AssetBundle. If the compressed package is compressed twice in this way, what is the decompression process then? Does it have any impact on runtime performance?
Based on my personal experience, the Android APK package is decompressed during installation. In other words, after the installation is complete, it will look the same in the hard disk regardless of whether it is compressed twice. Could anyone with relevant experience make an explanation on this?
A: The Android APK is not decompressed after installation, so in theory, obtaining the “secondary compressed” Bundle in it during runtime requires a further decompression step. There is feedback from other developers that if it is changed to “secondary compression”, the time-consuming of loading AssetBundle and loading resources from AssetBundle will be significantly greater.
Therefore, before modification, it is recommended to use the AssetBundle resources of your own project to do a test to see if the time-consuming difference between the two parts is obvious.
MemoryQ: What is the Unknown part of Android memory in general? After repeatedly entering and exiting a scene, Unity’s resources were released normally without leakage, but this Unknown has been growing.
A: This is the anonymous memory allocated through mmap using LuaJIT. Lua memory is here. Regular Lua memory is allocated through malloc and will appear in Native Heap; the other big part is Mono memory, and Boehm GC is also allocated through mmap on Android; then it also contains the memory allocation of the third-party so library.
Due to the content space, image limitation, for the full content with data and graphics, please feel free to read more here: https://blog.en.uwa4d.com/2022/01/11/how-to-solve-the-issue-of-gpu-skinning-not-taking-effect/
Please feel free to read more related topics on the UWA official blog page at https://blog.en.uwa4d.com. Over 9000 video games tested and optimized by UWA Game Optimization Toolkit, if you want to have a 15-day free try, you can visit the UWA official website and register an account at: https://en.uwa4d.com
You may also like:
GameLook: In the six months when the game version number was suspended and the pandemic repeated, how does UWA practice the game industrialization?
UWA DAY 2022 Conference Topic Submission — Practicing the Industrialization of Game R&D
With 35 lectures in 2 days, focusing on industrialization problems, what substantial knowledge of game R&D did UWA DAY 2021 bring?
A Happy Knowledge Sharer:
To be honest, my current and previous video game studios and video game developer friends who develope video games all using UWA game performance optimization toolkit, It saves us lot of time, human resource and cost. I know UWA provides a variety of optimization products for developers who use Unity Engine and Unreal Engine, such as: Game Performance Monitor, Static Testing, Game Optimization Toolkit Online, etc., helping developers efficiently solve development problems, locate performance bottlenecks and find solutions.
By the way, if you want to test and optimize your game, you can tell them that i recommended you, they will free test your game and free provide you game optimization solutions. This is special ~~~