• Unity3d大会的部分总结


    原地址:http://blog.csdn.net/sgnyyy/article/details/23775219

    一、项目开发,管理和发布策略

    1.       四大准则

    a.       美术的资源量

    b.       美术规范,要根据开发什么样的游戏制定统一的规范,这样尽可能的形成统一的规范。然后程序要协助美术制定相应的查看美术是否适合规范的的工具,并把所有美术资源统计出来(这里需要UI的二次开发)。

    c.       先从CPU和内存的优化,然后GPU

    d.       增量更新,包的大小控制,低端设备的支持

         控制drawcall的数量,UI贴图,技能特效,换装等。

         Sorting : Opaque :from front to back

         Mipmaps:打开,启用

         硬件分级:

            {resolution, post-processing, MSAA, Fx/partides density on/off, Shader }

         内存管理,一半原则,不要超过内存的一半

         {

    A.      减少贴图的大小

    B.      场景物体都做成prefab

    C.      用好Assetbundle

    D.      ObjectPool 和 LoadManager,避免频繁new,在切换场景的时候不释放公共UI

    E.       LoadManager,同一时间一次载入

    }

    AssetBunddle,采用依赖性打包

    用alpha test的效率低

         自己写一套控制打包的脚本

    二、自动打包

    AssetPostprocessor

    AssetImport

    BuildPlayer

    支持命令行编译,自动化打包发布

    Assetbundle的东西放入到StreamAssets文件夹中

    NewBehaviourScript.txt新建脚本的模板

    Asset label: 提升检索的速度

    打包Android的jar文件命令:jar -cvf class.jar *

    Edit里面有个Gncphics Emulation选项,暂时不清楚干什么的,用来模拟不同硬件的测试

    增量更新:就是打包的时候要实现,增量更新的方式

    1)    脚本资源分离

    2)    接口与实现分离

    UnityNative code

    1.       C, C++ 代码

    2.       生成.so文件

    3.       放到plugin下

    4.       在Unity中调用

    Java中调用navtive code 用 Systemn.Loadlibrary

    一次打包10个包

    BeginSamplePrifilor 取样CPU的的信息

    三、内存

    尽可能避免不必要的堆内存的分配

    a.       CPU – GC Alloc

    查看性能分析器里:记录游戏运行时内存分配,尽可能避免不必要的堆内存分配

    1.       一次性分配超过2kb的选项

    2.       检测每帧都具有20B以上的内存的分配的原则

    b.       CPU- Time

    帧超过5ms的

    c.       内存

    ManagedHeap.UsedSize不超过20M

    d.       内存

    查看是否有重复的资源,纹理压缩,不要超过1M, Assetbundle打包的时候的依赖关系。

    Device.Present :一般出现了复杂的Shader

    Shader.CreateGPUPrgream

    Other.compareTag() 不要用等号== ,影响速度

    需要了解的内容:

    1.       项目的管理

    如何协调美术和策划把资源的利用最大化

    2.       内存的优化

    3.       CPU的优化

    4.       GPU的优化

    5.       性能监视器的使用

    6.       常用性能比较好的插件

    7.       特殊友好效果的实现

    8.       Assetbundle的使用

    9.       对Unity3d里面的特性进行熟悉

    目标就是高效率的项目管理流程,一切都以速度和效率为先。

    高性能的游戏设计技巧

  • 相关阅读:
    codeforces 189A
    hdu 2085
    hdu 2083
    cf 1237 C2. Balanced Removals (Harder)
    cf 1244 D. Paint the Tree
    cf 1241 E. Paint the Tree(DP)
    cf 1241 D. Sequence Sorting(思维)
    cf1228 D Complete Tripartite(哈希)
    Windows10 与 WSL(Ubuntu)的文件互访
    Ubuntu下运行python文件
  • 原文地址:https://www.cnblogs.com/123ing/p/3906703.html
Copyright © 2020-2023  润新知