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

news/2024/11/17 4:51:29/

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

[csharp] view plain copy
  1. Application.targetFrameRate=-1;  

设置为 -1 表示不限定帧率。 转自http://blog.csdn.net/huutu

一般在手机游戏中我们限定帧率为30 就OK了。

[csharp] view plain copy
  1. Application.targetFrameRate=30;  

但是把这个代码添加到工程之后,在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"));}}



http://www.ppmy.cn/news/754200.html

相关文章

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

在Unity3d 中可以通过代码设置 来限定游戏帧率。 Application.targetFrameRate-1; 设置为 -1 表示不限定帧率&#xff0c;一般情况在手机游戏中我们限定帧率为30 就OK了。 Application.targetFrameRate30; 但是把这个代码添加到工程之后&#xff0c;在Unity中运行起来发现并…

【Linux实验】构造一个简单的 shell

一、实验目的 l 用 C/C++构造一个简单的 shell; l 理解 shell 程序的功能; l 学会 shell 的使用;

合宙Air724UG LuatOS-Air core API--pwm

Table of Contents pwm pwm.open(id) pwm.close(id) pwm.set(id,param1,param2,clk_div) pwm 脉冲输出接口 pwm.open(id) 打开pwm 参数 参数 类型 释义 取值 id number PWM硬件编号 0(gpio5管脚),1(gpio13管脚) 返回值 返回值 类型 释义 取值 result number 1&#xff1a;表…

苹果手机apn怎么设置

参考   https://g.pconline.com.cn/jxwd/1226/12260856.html      APN指一种网络接入技术&#xff0c;是通过手机上网时必须配置的一个参数&#xff0c;它决定了手机通过哪种接入方式来访问网络。下面为大家介绍苹果手机apn怎么设置。苹果手机apn怎么设置  步骤1、打开…

android 手机网络设置,手机网络怎么设置 史上最详细的手机网络设置教程

随着智能手机的流行与普及&#xff0c;现在国内智能手机系统与手机网络商众多&#xff0c;3G网络主要是中国移动、中国联通以及中国电信三家三足鼎力&#xff1b;手机系统就更多了&#xff0c;谷歌安卓手机系统、苹果IOS手机系统、诺基亚塞班手机系统以及微软WP7手机系统等等&a…

苹果审核规则翻译

3.6
 Apps with App icons and screenshots that do not adhere to the 4 age rating will be rejected&#xff08;图标与截屏不符合4年龄评级的应用会被拒。&#xff09; 3.7
 Apps with Category and Genre selections that are not appropriate for the App content wil…

使用iPhone配置实用工具编辑APN设…

iOS&#xff1a;使用 iPhone 配置实用工具编辑 APN 设置 http://support.apple.com/kb/HT4839?viewlocalezh_CN&localezh_CN 本文介绍如何使用 iPhone 配置实用工具编辑蜂窝数据设置。 蜂窝数据设置可确定 iOS 设备访问运营商蜂窝数据网络的方式。本文介绍如何使用 iPhone…

python3 接入IOS推送apn

官方文档地址&#xff1a;ios notification 推送截图步骤&#xff1a; 推送接入方法苹果给出了两种&#xff1a; certificate 证书接入token 接入 token 接入方法 根据文档给出的签名规则获取签名token。 import jwt import time token_dict {iat: int(time.time()),iss:…