Address: http://blog.csdn.net/sgnyyy/article/details/23775219
I. project development, management and release strategies
1. Four criteria
A. Amount of art resources
B. The art specifications should be formulated according to the game to be developed, so as to form a unified specification as much as possible. Then the program should assist art in formulating appropriate tools to check whether art is suitable for standardization, and collect statistics on all art resources (the second development of UI is required here ).
C. Optimize the CPU and memory first, and then GPU
D. incremental update, package size control, and support for low-end devices
Controls the number of drawcalls, UI pasters, skill effects, and costumes.
Sorting: Opaque: from front to back
Mipmaps: open and enable
Hardware classification:
{Resolution, post-processing, msaa, FX/partides density on/off, shader}
Memory Management, half principle, should not exceed half of memory
{
A. Reduce the texture size.
B. Make all scene objects into prefab
C. Use assetbundle
D. objectpool and loadmanager. Avoid frequent new operations and do not release the public UI During scenario switching.
E. loadmanager, loading at the same time
}
Assetbunddle, using dependency Packaging
Low efficiency with Alpha test
Write a set of scripts to control the packaging.
Ii. automatic Packaging
Assetpostprocessor
Assetimport
Buildplayer
Supports command line compilation and automatic packaging and Publishing
Put the assetbundle into the streamassets folder
Newbehaviourscript.txt create a Script Template
Asset label: Improves the search speed
Package the android JAR file command: jar-CVF class. jar *
Edit has a gncphics emulation option, which is used to simulate testing of different hardware.
Incremental update: it is implemented during packaging and the incremental update method.
1) script resource Separation
2) Separation of interfaces and Implementations
Unitynative code
1. C, C ++ code
2. Generate the. So file
3. Put it under plugin.
4. Call in Unity
Use systemn. loadlibrary to call navtive code in Java
Pack 10 packages at a time
Beginsampleprifilor CPU information for sampling
Iii. Memory
Avoid unnecessary heap memory allocation as much as possible
A. CPU-GC alloc
View the Performance Analyzer: record the memory allocation during game operation to avoid unnecessary heap memory allocation as much as possible
1. Option for one-time allocation exceeding 2 kb
2. Check that each frame has a memory allocation principle of more than 20 B.
B. CPU-time
Frame exceeding 5 ms
C. Memory
Managedheap. usedsize cannot exceed 20 m
D. Memory
Check whether there are repeated resources, texture compression, no more than 1 MB, and the dependencies when assetbundle is packaged.
Device. Present: Generally, complicated shader occurs.
Shader. creategpuprgream
Other. comparetag () should not use equal sign =, affecting the speed
What you need to know:
1. Project Management
How to coordinate art and planning to maximize resource utilization
2. Memory Optimization
3. CPU Optimization
4. GPU Optimization
5. Use of Performance Monitor
6. Commonly Used plug-ins with better performance
7. Implementation of special friendly Effects
8. Use of assetbundle
9. Familiarize yourself with the features in unity3d
The goal is an efficient project management process. Everything is speed and efficiency first.
High-performance game design skills