测试方式:

每个对象做大范围正弦移动,创建1000-5000个对象,保证场景分割树的实时更新,并测试帧率

测试脚本:

移动脚本:

using UnityEngine;
using System.Collections; public class Test1 : MonoBehaviour
{
public Rigidbody rigidbodyObj; void FixedUpdate()
{
switch (Random.Range(, ))
{
case : transform.position = Vector3.forward * Mathf.Sin(Time.time * ) * ;
//rigidbodyObj.position = Vector3.forward * Mathf.Sin(Time.time * 180) * 180; break; case : transform.position = Vector3.left * Mathf.Sin(Time.time * ) * ;
//rigidbodyObj.position = Vector3.left * Mathf.Sin(Time.time * 180) * 180; break; case : transform.position = Vector3.right * Mathf.Sin(Time.time * ) * ;
//rigidbodyObj.position = Vector3.right * Mathf.Sin(Time.time * 180) * 180; break;
}
}
}

生成器脚本:

using UnityEngine;
using System.Collections; public class Test2 : MonoBehaviour
{
public int count = ;
public GameObject template; void Awake()
{
for (int i = ; i < count; i++)
{
var go = Instantiate(template);
go.transform.position = Random.insideUnitSphere * 10f;
}
}
}

测试结果:

i5的配置下

500个动力学打开的刚体Collider已经小于20fps,使用Rigidbody.position移动和使用Transform.position移动差别不大。而且500个打开了重力的刚体Collider仅有3fps

1万个非刚体Collider可以达到30-35fps,并且和是否开关Trigger无关。由于非刚体Collider是被动触发,我还测试了下没有Collider的情况,似乎帧率是快了1-2fps并且相对稳定,也可能是错觉。

Unity中Collider和刚体Collider性能对比的更多相关文章

  1. Javascript中遍历数组方法的性能对比

    Javascript中常见的遍历数组的方法 1.for循环 for(var i = 0; i < arr.length; i++) { // do something. } 2.for循环的改进 ...

  2. js中数组去重方法及性能对比

    js中数组的 数组去重 常用的数组去重方法以及效率分析: 首先我们先构建一个数组,主要是用于进行去重实验,我们主要实验的量级为1000,10000,100000,500000.具体的生成数组的方法如下 ...

  3. php中的for 和foreach性能对比

    总体来说,如果数据库过几十万了,才能看出来快一点还是慢一点,如果低于10万的循环,就不用测试了,两者性差异不明显.但是我还是推荐用foreach.循环数字数组时,for需要事先count($arr)计 ...

  4. 关于Unity中的刚体和碰撞器的相关用法(二)

    在关于Unity中的刚体和碰撞器的相关用法(一)的基础上 有一个plane平面,一个ball球体,都挂了碰撞器,ball挂了刚体Rigidbody,写了一个脚本ball挂载在球体上,球体从空中落下装机 ...

  5. 【转】通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider

    作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 在第一篇文章[Unity3D基础教程] ...

  6. iOS中保证线程安全的几种方式与性能对比

    来源:景铭巴巴 链接:http://www.jianshu.com/p/938d68ed832c 一.前言 前段时间看了几个开源项目,发现他们保持线程同步的方式各不相同,有@synchronized. ...

  7. lua、groovy嵌入到java中的性能对比(转)

    lua和groovy都是可以嵌入到java中的脚本语言.lua以高性能著称,与C/C++在游戏开放中有较多使用,groovy是一个基于Java虚拟机(JVM)的敏捷动态语言,在jvm下有着不错的性能. ...

  8. Python开发【笔记】:从海量文件的目录中获取文件名--方法性能对比

    Python获取文件名的方法性能对比 前言:平常在python中从文件夹中获取文件名的简单方法   os.system('ll /data/')   但是当文件夹中含有巨量文件时,这种方式完全是行不通 ...

  9. MYSQL 中 MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比

    1.MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.不 ...

随机推荐

  1. 模拟状态为active的日志损坏的数据恢复实验(不完全恢复)

    1查看当前日志状态 首先不完全恢复是会丢失数据的,由此在当前打开的数据中我们创建一些测试数据,用来验证当我们进行完不完全恢复后该数据是否还存在. 2模拟删除CURRENT状态的日志 3启动数据验证错误 ...

  2. 2016HUAS暑假集训训练2 J - 今年暑假不AC

    题目链接:http://acm.hust.edu.cn/vjudge/contest/121192#problem/J 此题要求是计算能够看到最多的节目 ,贪心算法即可,首先对结束时间排序,然后在把开 ...

  3. Jedis工具类

    1.RedisCache.java package cn.itcast.mybatis.dao; import java.util.Date;import java.util.HashMap;impo ...

  4. 20145337实验四Android开发基础

    20145337实验四Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管理器的使用: 掌握Android中事件处 ...

  5. Windows Server 2003修改远程桌面最大连接数的方法

    Windows Server 2003远程桌面允许的终端连接数默认情况下只有2个线程,也就是2个用户,当我们需要多人同时登录服务器的时候,就需要适当增加远程连接同时在线的用户数. 修改远程桌面最大连接 ...

  6. Java程序设计 实验五

    实     验    报     告 课程:Java 班级: 1353    姓名:李海空   学号:20135329 成绩:              指导教师:娄嘉鹏   实验日期:2015.6. ...

  7. MipMap与三线性过滤

    现代计算机图形管线渲染图像的方法是处理这两个问题: 1 3D世界的几何图元如何投影成2D图元,进而对应到屏幕的哪些像素 2 根据已有的信息(光照,法向量,贴图),每个像素点应该怎样设置颜色 根据这两个 ...

  8. 【转载】James Whittaker:经营成功的测试职业生涯

    转注:这篇文章出自 James A. Whittaker ,但未找到原始出处/译者.如果有知道原始出处的朋友,可在评论这留言. 你是如何开始做测试工作的?  1989年,我在田纳西大学读研究生的时候, ...

  9. situations where MyISAM will be faster than InnoDB

    http://www.tocker.ca/categories/myisam Converting MyISAM to InnoDB and a lesson on variance I'm abou ...

  10. CCEA OCX

    <HTML> <HEAD> <TITLE>CCEAActiveX演示页面</TITLE> <meta http-equiv="Conte ...