帧率设置 及在游戏运行时显示帧率
来源:互联网 发布:head first java 烂 编辑:程序博客网 时间:2024/06/05 17:58
在Unity3d 中可以通过代码设置 来限定游戏帧率。
设置为 -1 表示不限定帧率。 转自http://blog.csdn.net/huutu
一般在手机游戏中我们限定帧率为30 就OK了。
但是把这个代码添加到工程之后,在Unity中运行起来发现并没有什么卵用。
大意就是说:
Application.targetFrameRate 是用来让游戏以指定的帧率运行,如果设置为 -1 就让游戏以最快的速度运行。
但是 这个 设定会 垂直同步 影响。
如果设置了垂直同步,那么 就会抛弃这个设定 而根据 屏幕硬件的刷新速度来运行。
如果设置了垂直同步为1,那么就是 60 帧。
如果设置了为2 ,那么就是 30 帧。
点击 菜单 Editor -> ProjectSetting -> QualitySettings 来打开渲染质量设置面板。
1、首先关掉垂直同步,如上图。
设置帧率为100
Application.targetFrameRate=100;
然后运行后的帧率是 100.
2、设置垂直同步为1
可以看到帧率为 60 帧左右跳动,完全无视了代码中的设定。
3、设定垂直同步为 2
可以看到帧率在 30帧左右跳动。
在游戏中显示帧率代码:
using UnityEngine;using System.Collections;using DG.Tweening;public class NewBehaviourScript : MonoBehaviour {private float m_LastUpdateShowTime=0f;//上一次更新帧率的时间;private float m_UpdateShowDeltaTime=0.01f;//更新帧率的时间间隔;private int m_FrameUpdate=0;//帧数;private float m_FPS=0;void Awake(){Application.targetFrameRate=100;}// Use this for initializationvoid Start () {m_LastUpdateShowTime=Time.realtimeSinceStartup;}// Update is called once per framevoid Update () {m_FrameUpdate++;if(Time.realtimeSinceStartup-m_LastUpdateShowTime>=m_UpdateShowDeltaTime){m_FPS=m_FrameUpdate/(Time.realtimeSinceStartup-m_LastUpdateShowTime);m_FrameUpdate=0;m_LastUpdateShowTime=Time.realtimeSinceStartup;}}void OnGUI(){GUI.Label(new Rect(Screen.width/2,0,100,100),"FPS: "+m_FPS);}}
另给一个显示帧数的代码
using UnityEngine;using System.Collections;public class ShowFPS : MonoBehaviour { /// <summary> /// 每次刷新计算的时间 帧/秒 /// </summary> public float updateInterval = 0.5f; /// <summary> /// 最后间隔结束时间 /// </summary> private double lastInterval; private int frames = 0; private float currFPS;// Use this for initializationvoid Start () { lastInterval = Time.realtimeSinceStartup; frames = 0;}// Update is called once per framevoid Update () { ++frames; float timeNow = Time.realtimeSinceStartup; if (timeNow > lastInterval + updateInterval) { currFPS = (float)(frames / (timeNow - lastInterval)); frames = 0; lastInterval = timeNow; }} private void OnGUI() { GUILayout.Label("FPS:" + currFPS.ToString("f2")); }}
阅读全文
0 0
- Unity3d 帧率设置 及在游戏运行时显示帧率
- Unity3d帧率设置及在游戏运行时显示帧率
- 帧率设置 及在游戏运行时显示帧率
- 如何在游戏中设置游戏的帧率和显示帧率
- unity设置游戏帧率
- iPad 运行cocos2d的2倍游戏时,显示变成一倍,且显示在左下角
- Unity 游戏帧率优化,设置分辨率
- Unity 游戏帧率优化,设置分辨率
- 如何在Unity中显示当前游戏运行帧数?
- 如何编译sifteo游戏及在模拟器中运行
- applet运行信息在浏览器终端显示设置
- Java环境变量设置及在命令行运行class
- 如何在运行时显示一个控件?
- Unity3D显示帧率以及设置不限制帧率
- Unity3D显示帧率以及设置不限制帧率
- Unity 帧率设置和显示FPS脚本
- Cocos2d-x 修改Android平台帧率fps - 解决游戏运行手机发热发烫问题
- 在storyboard里设置VC的 tab bar item 的 selected image 运行tabbar不显示
- prometheus学习笔记(二)
- python format
- 多线程死锁的产生原因及避免
- 计算机网络最简单的定义
- Ubuntu 16.04 Apache https设置及SSL免费证书安装
- 帧率设置 及在游戏运行时显示帧率
- mybatis多表查询
- Java知识点简记(1)面向对象
- jQuery--9.$.ajax(),表单序列化,formdata
- debug心得(一)
- 启发式搜索技术A* (A* Pathfinding for Beginners)
- androidStudio开发过程中minSdk(API 26) > deviceSdk(API 19)解决办法
- 腾讯前端面试题集锦
- 盒子模型——盒子阴影box-shadow