【Unity&IUnity精灵&Unity物体】生成&控制大量物体的时间考究
来源:互联网 发布:淘宝店铺模板装修教程 编辑:程序博客网 时间:2024/04/30 00:59
生成控制大量物体考究
如果要控制大量的物体,这些物体所花的时间为多少
----------------------------------------------------------准备Preparb
根据 参考资料1 获得代码执行时间的函数为
sw.Start();和sw.Stop();之间进行生成物体的函数,就可以获得当前函数代码执行的时间
Stopwatch sw = new Stopwatch();
sw.Start();
//TestMethod();
InitGO(GO_num);
sw.Stop();
UnityEngine.Debug.Log(string.Format( "生成物体数量 Init GO num:" + GO_num + " 所花时间total time: {0} ms", sw.ElapsedMilliseconds));
一个是空物体GO,另外一个是单位立体方块TestCube
using UnityEngine;using System.Collections;using System.Diagnostics;public class TestGO : MonoBehaviour { public GameObject GO; public int GO_num = 1; void Start() { /* float t = Time.time; TestMethod(); UnityEngine.Debug.Log(string.Format("total: {0} ms", Time.time - t)); */ Stopwatch sw = new Stopwatch(); sw.Start(); //TestMethod(); InitGO(GO_num); sw.Stop(); UnityEngine.Debug.Log(string.Format( "生成物体数量 Init GO num:" + GO_num + " 所花时间total time: {0} ms", sw.ElapsedMilliseconds)); //Profiler.BeginSample("TestMethod"); TestMethod(); //Profiler.EndSample(); } void InitGO(int num) { for (int i=0; i<num ;i++) { Instantiate(GO, new Vector3(0, 0, 0), Quaternion.identity); } } void TestMethod() { for (int i = 0; i < 10000000; i++) { } }}
最好不要使用List 来装 GameObject 物体,而是Transform ,
----------------------------------------------------------开始测试 Test Begin
1 生成空物体GO所花时间
1.1 获得Get 1个物体GameObject所花时间Time
1.1.1生成 1个 空物体GO所花时间 < 1ms
1.1.2生成 1个物体Cube所花时间< 1ms
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.2 获得Get 1,000个物体GameObject所花时间Time
1.2.1生成 1,000 个空物体GO所花时间:5ms
1.2.2生成 1,000 个物体Cube所花时间:16ms
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.3 获得Get 10,000个物体GameObject所花时间Time
1.3.1生成 10,000 个空物体GO所花时间:54ms
1.3.2生成 10,000 个物体Cube所花时间:164ms
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.4 获得Get 100,000 个物体GameObject所花时间Time
1.4.1生成 100,000 个空物体GO所花时间:590ms
1.4.2生成 100,000 个物体Cube所花时间:1916ms
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
参考资料:
1.
Unity3D研究院之获取某个方法执行的时间
2.
Unity3D C# List数据类型使用
3.
4.
5.
- 【Unity&IUnity精灵&Unity物体】生成&控制大量物体的时间考究
- 【Unity】关于精灵物体创建的看法
- [Unity&精灵&对象]使用Instantiate,Resource.Load动态生成物体
- Unity滑动屏幕控制物体的旋转
- Unity 控制相机绕物体的旋转
- Unity 控制相机绕物体的旋转
- 【Unity&精灵】如何通过已知道的坐标获取物体&动态生成墙壁
- 【Unity&UGUI】动态改变精灵物体的图片
- 【Unity小技巧】拖动大量物体
- unity 大量物体拖拽进集合小窍门
- 【Unity】动态生成物体,设置一个物体为另外一个物体的父类
- Unity-->实现物体的移动
- unity里面物体的移动
- unity 改变物体的颜色
- Unity 简单的物体运动
- unity 手指旋转物体双手控制相机的远近
- unity开发(一个按钮控制不同的物体)
- Unity 音乐可视化(音乐频谱控制物体的运动)
- 关于BFC的理解
- 0218
- Axis2项目开发和部署发布
- 邻接矩阵与关联矩阵的转换及实现
- CodeForces - 601A The Two Routes
- 【Unity&IUnity精灵&Unity物体】生成&控制大量物体的时间考究
- 用 Graphlab Create 构建歌曲推荐系统
- if分之结构
- 快捷键
- 从前端模块化的概念来理解Webpack
- Spark-SQL之DataFrame操作大全
- POJ 3551 Putin-chess 可能会
- 数据类型转换
- 扯点自己的工作经历