Unity3d帧率设置及在游戏运行时显示帧率

Unity3d 帧率设置 及在游戏运行时显示帧率 阅读详情

在Unity3d 中可以通过代码设置 来限定游戏帧率。

Application.targetFrameRate=-1;

设置为 -1 表示不限定帧率,一般情况在手机游戏中我们限定帧率为30 就OK了。

Application.targetFrameRate=30;

但是把这个代码添加到工程之后,在Unity中运行起来发现并没有起作用,于是到官网查看资料,官网的解释是

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 来打开渲染质量设置面板。


1、首先关掉垂直同步,如上图。

设置帧率为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 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教程到此结束,下篇我们再会!
原文地址:http://www.unity.5helpyou.com/3346.html
Unity3d 制定游戏循环的策略 在使用Unity3d开发游戏的时,我们总会涉及Unity内置的生命周期函数。弄清这些函数的调用顺序和特性十分重要,因为这影响到逻辑的执行顺序,例如:初始化要在使用之前,注册回调要在响应之前等等。 通常说来,在大型商业项目中,我们需要自制一套游戏循环,来满足多变的游戏玩法。哪些现有的生命周期函数可以使用?哪些需要被替换掉?这些取舍贯穿了整个游戏开发过程。 生命周期 Unity3d的函数调用有固... 阅读详情

相关推荐

基于cat12和SPM12进行VBM&SBM数据分析笔记1——数据预处理

基于cat12数据分析基础教程笔记 今年是小编步入研究生生活的第一年,研究方向待定,但主要以磁共振成像为主,以后会不断地总结这方面的知识,涉及MRI扫描,数据分析基础方法理论,软件操作教程,文献阅读笔记总结等等,用来记录我的研究生三年学习过程。编写尽量简洁明了,通俗易懂,本就是小白,也能体会小白的痛。不过这也要谢谢一个人手动@小白(网名),是他教我要把自己所学的写下来,讲出来才能真正的做到输入和输出,查漏补缺。而cat12软件操作是我面临的第一个数据分析的训练,写的可能也不会非常到位,还望各位专业人士指出改

Sophia2023的博客 4万+

【Unity3D日常开发】Unity3D中Quality的设置参考

这篇文章就来讲一下Quality的设置(Unity版本:2021.3.15f1c1Quality主要是用来控制图形质量的设置,这些设置包括抗锯齿、阴影、分辨率等方面:根据设备的性能调整参数,来达到最佳的游戏体验。一般来说,质量是以牺牲性能为代价的,所以最好不要追求移动设备或旧硬件的最高质量,因为它会对游戏产生有害的影响。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 5565

SpringBoot SSE避坑指南:当客户端突然断开时服务端SseEmitter的正确回收姿势

本文深入探讨了SpringBoot中SSE连接的生命周期管理,特别是客户端主动断开连接时服务端SseEmitter的正确回收机制。文章重点分析了客户端调用eventSource.cancel()等场景下,如何利用onCompletion()回调进行可靠的资源清理,避免内存泄漏,并提供了防御式编程策略和实战优化建议。

mm9012的博客 778

Unity3D中Quality的设置解析参考

提示:以下是本篇文章正文内容,下面案例可供参考总结一下就是,Quality设置是一个很重要的画面质量设置的模块。调整不同的质量的属性,来实现不同的设备下的流畅运行。比如高端设备可以设置高一些的渲染效果,比较低端的电脑就可以设置低一些的渲染效果,来提高优化。如果觉得本篇文章有用别忘了点个关注,关注不迷路,持续分享更多Unity干货文章。

心疼你的一切博客 2443

PyMOL下载安装教程(附安装包)2025最新版(PyMOL 3.0.3)

本文详细介绍了Windows系统下PyMOL分子建模软件的安装教程。主要内容包括:提供安装包下载链接,强调需关闭杀毒软件;分步骤讲解管理员身份运行安装程序、接受协议、选择安装路径等安装流程;重点说明如何配置隐藏文件夹ProgramData中的许可证文件;最后提供基础使用技巧和常见问题解决方案。该教程适用于需要制作高质量分子结构图的科研人员和新手用户,帮助完成软件部署并顺利开展工作。

progalchemist的博客 3807

Fiddler everywhere的一些基础操作

网上能搜到的Fiddler everywhere使用教程太少,于是我整理了一些自己实操成功的内容,包括Fiddler everywhere的Mock测试、弱网测试等基础操作,后续还会持续更新。操作系统:macOS使用工具:Fiddler everywhere 5.10.0本文简单介绍了使用Fiddler everywhere进行的Mock测试和弱网测试,而Fiddler everywhere提供了更多的其他实用的功能,我会在后期进行一个持续的学习和更新。

weixin_44346646的博客 2479

[Unity踩坑系列] Quality Settings为何影响不了Texture Size

我们知道 Quality Settings可以全局对纹理进行设置大小,但是GUI会不起作用。有些导入方式设置成Advanced的纹理也会不起作用 为何? 原来都是mipmap的原因。只有设置了mipmap的纹理才会起作用,具体原因如下: The texture downsampling only happens on textures that have mipmaps https://f

CYWATER2000'S BLOG 3112

VASP计算层错能(SFE)全攻略2

本文介绍了使用VASP计算纯镍(Ni)层错能(SFE)的具体步骤。首先构建Ni的FCC单胞并扩展为超胞,通过修改原子位置引入堆垛层错;随后分别计算完美晶体和含层错结构的能量;最后通过能量差与层错面积之比求得SFE值。计算需注意k点网格、截断能和超胞尺寸的收敛性测试,并推荐使用PAW赝势和ASE等工具辅助结构构建。

weixin_50519490的博客 1987

Unity_帧率设置Application.targetFrameRate

在Unity3D中可以通过代码设置来限定游戏帧率 Application.targetFrameRate = 60; 有几个特定的值有特殊的意义。 设置-1为不限制帧率,60和30。 一般在手机游戏中30也就可以了。 然而把代码添加到工程之后,在Unity中运行起来发现并没有什么作用。 于是查询API后发现:如果在质量设置中vsync被设置,目标帧速率会被忽略并使用vblank int...

wy小骑士 1万+

CANOe实战指南 - 从入门到精通的全流程解析

本文是CANOe实战指南,全面解析从入门到精通的全流程。内容涵盖CANOe软件的核心功能仿真、测试与分析,详细指导安装配置、工程创建、CAN信号收发、UDS诊断通信、CAPL自动化编程以及Panel面板设计。通过实战案例,帮助汽车电子工程师快速掌握这一行业标杆工具,构建自动化测试环境,提升开发与测试效率。

pear55的博客 574

【Claude】权限被拒绝 (Permission Denied) 全场景排查 — 已解决

权限配置是 Claude Code 安全使用的核心机制。通过合理的 allow/deny 规则、正确的通配符使用、子代理独立配置、定期安全审计,可以在保证安全性的同时不影响开发效率。deny 优先:deny 规则优先级高于 allow,先保护敏感资源通配符精确单层匹配,**递归匹配,Bash(cmd*)允许带参数最小权限:只允许必要的操作,避免Bash(*)等危险规则CI 用 skip:Headless 模式用避免挂起子代理独立:每个子代理单独配置权限,不自动继承保护密钥:deny.env。

一键难忘的博客 3946

Unity帧率、屏幕刷新率

游戏帧率,即每秒刷新的次数,帧率太低或给人一种卡的感觉,帧率过高对机器性能要求较高,一般帧率在 30 左右即可, using UnityEngine; using System.Collections; public class Test : MonoBehaviour { private float time; private float update............

lq 9684

巡检机器人的基于ROS系统的任务管理架构设计总结

本文探讨了基于ROS(机器人操作系统)的工业巡检机器人任务管理架构设计,提出分层闭环方案。架构围绕稳、准、活、扩四大目标,分为感知层(多源数据融合)、调度层(智能决策)、执行层(动作控制)和数据层(存储交互)。关键技术包括ROS2实时性优化、功能包复用和多机器人协同调度。实践案例显示,该架构在电力巡检中使任务完成率达99%,在化工园区实现95%覆盖率。当前挑战包括SLAM地图漂移和多机通信延迟,未来可通过语义SLAM和区域通信优化。

start_up_go的博客 476

Unity帧率设置以及运行时显示帧率

在Unity3d 中可以通过代码设置来限定游戏帧率。 Application.targetFrameRate = -1; 设置为**-1**表示不限定帧率,一般情况在手机游戏中我们限定帧率为30就OK了。 Application.targetFrameRate = 30; 但是把这个代码添加到工程之后,在Unity中运行起来发现并没有起作用,于是到官网查看资料,官网的解释是: Application.targetFrameRate public static int targetFrameRate;

天富儿的博客 4万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Unity中帧数FPS的显示查看

Unity中帧数FPS的显示查看显示帧数开发测试时的Game视图开发测试时的Profiler视图发布后的FPS显示 显示帧数 FPS可以用3中方式查看: 开发测试时的Game视图 如下图显示的方式查看: 图中红框中的位置就是FPS的显示。 开发测试时的Profiler视图 如下图,通过一下方式可以调出Profiler视图。 下图为项目在Unity中测试运行时的Profiler视图。第一部分CP...

天富儿的博客 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Unity3d 帧率设置 及在游戏执行时显示帧率

在Unity3d 中能够通过代码设置 来限定游戏帧率。 Application.targetFrameRate=-1; 设置为 -1 表示不限定帧率。 转自http://blog.youkuaiyun.com/huutu 一般在手机游戏中我们限定帧率为30 就OK了。 Application.targetFrameRate=30; 可是把这个代码加入到project之后。在...

aofan9566的博客 175

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

帧率设置 及在游戏运行时显示帧率

在Unity3d 中可以通过代码设置 来限定游戏帧率。 [csharp] view plain copy Application.targetFrameRate=-1;   设置为 -1 表示不限定帧率。 转自http://blog.youkuaiyun.com/huutu 一般在手机游戏中我们限定帧率为30 就OK了。

ax1274669874的博客 1万+

[Unity3D]查看与设置游戏帧数FPS

FPS是衡量游戏性能的一个重要指标,Unity是跨平台的引擎工具,所以没有统一限定他的帧速率。 在PC平台,一般说来是越高越好,FPS越高,游戏越流畅。 在手机平台,普遍的流畅指标为60帧,能跑到60帧,就是非常流畅的体验了,再高的话一来差别很小,二来帧数太高,会耗费CPU和GPU,会导致发热和耗电量大。 1.UNITY3D设置帧数FPS的方法

沧浪之水 9948

【100个 Unity实用技能】☀️ | Unity中设置 允许的最大帧数,锁定游戏的最大帧率(游戏锁帧)

Unity中设置 允许的最大帧数,锁定游戏的最大帧率 游戏运行时每秒所运行的帧数(简称FPS,Frames Per Second) 在实际的游戏中一般会对项目进行一个允许范围内的最大帧率限制,锁定在某个玩起来能够流畅的帧数。 可以保证游戏运行的稳定(不会让运行游戏的时候帧数忽高忽低),也可以减少性能的消耗(不至于耗尽所有的硬件性能)。 比如王者荣耀中就有一个玩家可定义帧率的选项,帧率 :节能(30帧)、高(60帧)、超高(90帧)

努力前行,总会成为自己心中的那道光 4万+

Unity3d 中能够通过代码设置 来限定游戏帧率

unity学习

翻肚鱼儿的博客 2666

Unity3d自学记录 关于帧率(fps)

首先帧率是什么? 游戏单位时间内刷新的次数,一般越高越好,30fps视为流畅。 其中的f就是英文单词Frame(画面、帧),p就是Per(每),s就是Second(秒)。 那,在Unity3d里。如何去计算帧率呢? 帧率=固定时间的帧数/固定时间 using System.Collections; using System.Collections.Generic; using Unit...

Crazy 3912
上一篇: Unity WaitForTargetFPS
下一篇: 详解Unity Profiler内存分析问题
cbbbc
博客等级 码龄15年 609粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值