Unity3d 帧率设置 及在游戏运行时显示帧率
版权声明:本文转自http://blog.csdn.net/huutu 转载请带上 http://www.liveslives.com/ http://blog.csdn.net/cp790621656/article/details/46645743
在Unity3d 中可以通过代码设置 来限定游戏帧率。
- Application.targetFrameRate=-1;
设置为 -1 表示不限定帧率。 转自http://blog.csdn.net/huutu
一般在手机游戏中我们限定帧率为30 就OK了。
- Application.targetFrameRate=30;
但是把这个代码添加到工程之后,在Unity中运行起来发现并没有什么卵用。。。。
转自http://blog.csdn.net/huutu
于是到官网查看资料
- http://docs.unity3d.com/ScriptReference/Application-targetFrameRate.html
- Application.targetFrameRate
- public static int targetFrameRate;
- Description
- Instructs game to try to render at a specified frame rate.
- Setting targetFrameRate to -1 (the default) makes standalone games render as fast as they can,
- and web player games to render at 50-60 frames/second depending on the platform.
- Note that setting targetFrameRate does not guarantee that frame rate.
- There can be fluctuations due to platform specifics, or the game might not achieve the frame rate because the computer is too slow.
- If vsync is set in quality setting, the target framerate is ignored, and the vblank interval is used instead.
- The vBlankCount property on qualitysettings can be used to limit the framerate to half of the screens refresh rate
- (60 fps screen can be limited to 30 fps by setting vBlankCount to 2)
- targetFrameRate is ignored in the editor.
大意就是说:
Application.targetFrameRate 是用来让游戏以指定的帧率运行,如果设置为 -1 就让游戏以最快的速度运行。
但是 这个 设定会 垂直同步 影响。
如果设置了垂直同步,那么 就会抛弃这个设定 而根据 屏幕硬件的刷新速度来运行。
如果设置了垂直同步为1,那么就是 60 帧。
如果设置了为2 ,那么就是 30 帧。
点击 菜单 Editor -> ProjectSetting -> QualitySettings 来打开渲染质量设置面板。
转自http://blog.csdn.net/huutu
1、首先关掉垂直同步,如上图。
设置帧率为100
然后运行后的帧率是 100.
2、设置垂直同步为1
可以看到帧率为 60 帧左右跳动,完全无视了代码中的设定。
转自http://blog.csdn.net/huutu
3、设定垂直同步为 2
可以看到帧率在 30帧左右跳动。
转自http://blog.csdn.net/huutu
在游戏中显示帧率代码:
- 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 initialization
- void Start ()
- {
- m_LastUpdateShowTime=Time.realtimeSinceStartup;
- }
- // Update is called once per frame
- void 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);
- }
- }
官网文档中的最后一句……经测试在编辑器状态下是有效的。。
Unity3d 帧率设置 及在游戏运行时显示帧率相关推荐
- Unity3d帧率设置及在游戏运行时显示帧率
在Unity3d 中可以通过代码设置 来限定游戏帧率. Application.targetFrameRate=-1; 设置为 -1 表示不限定帧率,一般情况在手机游戏中我们限定帧率为30 就OK了. ...
- 帧率设置 及在游戏运行时显示帧率
在Unity3d 中可以通过代码设置 来限定游戏帧率. [csharp] view plain copy Application.targetFrameRate=-1; 设置为 -1 表示不限定帧率. ...
- UE4 在游戏运行时显示或隐藏鼠标
在关卡蓝图中进行如下设置,当按下"Tab"键时显示鼠标,按第二次隐藏,以此类推: 如果希望显示鼠标的同时还能够触发点击事件,就添加如下两个节点 然后就可以在蓝图中编辑静态网格体的点 ...
- XNA 游戏 运行时编辑器
最近在写游戏时发现随着代码量和资源数量的加大,编译速度越来越来慢...而且游戏编程中需要 多次调整的数据有比较多(比如各种移动速度,攻击硬直之类,不可能一次指定正确..),而每次改一个 数据就要重新编 ...
- 笔记本玩逆水寒服务器未响应,逆水寒游戏运行时电脑崩溃怎么办_逆水寒运行游戏是笔记本崩溃问题解决办法介绍_游戏吧...
近日有玩家表示在逆水寒运行时,部分笔记本会出现崩溃的现象.那么逆水寒游戏运行时电脑崩溃是怎么造成的,又该怎么解决呢?下面游戏吧小编就为大家带来运行游戏时电脑崩溃问题的解决建议. 运行游戏时电脑崩溃问题 ...
- U3D游戏运行时资源是如何从AB中加载出来的
U3D游戏运行时资源是如何从AB中加载出来的 以安卓为例 1,游戏启动,自定义版本管理器去安卓的持久化目录下查找我们自定久的版本管理文件 rep.db,若该文件不存在,说明这是游戏第一次启动,于是就把 ...
- UE4 在游戏运行时更改变量 (通过鼠标滑轮来更改第一人称角色的最大行走速度)
在上一篇博客中(UE4 更改组件变量 (以修改第一人称角色模板的最大行走速度和跳跃高度为例))已经创建了最大行走速度这个变量,如何在游戏运行时修改它从而达到动态调整速度的效果? 效果: 步骤: 1.创 ...
- Java初学者作业——实现控制台的猜数字游戏。游戏运行时产生一个1~100之间的随机数字
返回本章节 返回作业目录 需求说明: (1)实现控制台的猜数字游戏.游戏运行时产生一个1-100之间的随机数字 (2)要求用户从控制台输入数字,若输入的数字比随机数小,则输出"太小了,再大一 ...
- 用vs打开已有web项目运行时显示网页无法访问
文章目录 问题 方法 问题 用vs打开已有web项目运行时显示网页无法访问 方法 文件管理器点击查看→隐藏的项目√ 删除.vs文件夹,重新启动vs并重新打开项目文件.sln,再次运行即可
最新文章
- 70个Python练手项目列表,看了让你茅塞顿开~
- The restricted headers are:
- android jar 加入图片,Android动态加载外部jar包及jar包中图片等资源文件
- PHP处理跨域:header(AccessControlAllowOrigin:星)允许所有来源访问;后端Curl请求转发
- psql: FATAL: role “appleyuchi” does not exist与修改默认密码
- 同一目录下拷贝文件夹里_protobuf在C++下的安装使用
- 什么是GC Roots
- Linux下c语言实现通讯录,学生通讯录管理系统linux下C语言
- Linux常见问题解答--如何修复“tar:Exiting with failure status due to previous errors”
- Docker教程小白实操入门(10)--如何删除一个镜像
- 在循环里,怎么让一段代码只执行一次?
- 学生时代的经历,利用Python在机房杀红蜘蛛,脱离老师控制!
- 社区发现算法——Louvain 算法
- Juniper JunOS PPPOE配置
- NLP句子表征,NLP 的巨人肩膀(下):从 CoVe 到 BERT (转载)
- Pyhton爬小说实例解析笔记——爬虫基础
- vm虚拟机安装以及镜像和网路配置
- 福利:tumblr五年驾龄老司机必备利器
- 关于不同体系结构风格的简单认识
- 所谓键位冲突和无冲突的各种原理
热门文章
- ERROR 1130 (HY000): Host XXX is not allowed to connect to this MySQL server
- 贪心算法----过河问题
- 有抱负的 Web 开发人员应该在 2021 年学习的 10 件事
- 开发者来稿|AMD赛灵思中文论坛分享 - 提问的智慧
- (翻译)禀赋效应(Endowment Effect)
- Django简洁留言板系统
- 移动端UI框架小汇总
- 华为信息机与c3po包的冲突
- 打印系统开发(36)——打印方面套打是什么意思,如何实现套打?
- springboot入门书籍_2019版JavaEE学习路线图(内含大纲+视频+工具+书籍+面试)