UE4 显示帧率的几种姿势「建议收藏」

在使用UE4Editor或者UE4Game时,有时候需要查看帧率,以及每帧耗时情况。在Editor中显示:键盘上按下~可以看到有个输入框出现:在输入框输入statfps或者statunit,出现帧率或者耗时:在Game中显示(1):启动Game.exe后,键盘按下~出现输入框,输入框中输入statfps或者statunit,回车:在

大家好,又见面了,我是你们的朋友全栈君。

欢迎关注公众号可以查看更多完整文章

UE4 显示帧率的几种姿势「建议收藏」

在使用UE4 Editor或者UE4 Game时,有时候需要查看帧率,以及每帧耗时情况。

在Editor中显示:

  • 键盘上 按下 ~
  • 可以看到有个输入框出现:
  • UE4 显示帧率的几种姿势「建议收藏」
  • 在输入框输入 stat fps或者stat unit,出现帧率或者耗时:
  • UE4 显示帧率的几种姿势「建议收藏」
也可以在偏好设置中设置:
UE4 显示帧率的几种姿势「建议收藏」
设置后显示在:
UE4 显示帧率的几种姿势「建议收藏」
还可以在视口中直接下拉选择显示与否:
UE4 显示帧率的几种姿势「建议收藏」
在Game中显示(1):
  • 启动Game.exe后,键盘按下 ~
  • 出现输入框,输入框中输入 stat fps或者stat unit,回车:UE4 显示帧率的几种姿势「建议收藏」
在Game中显示(2):
  • 在编辑器中,打开关卡蓝图编辑:
  • UE4 显示帧率的几种姿势「建议收藏」
  • 右键添加节点:
  • UE4 显示帧率的几种姿势「建议收藏」
  • 编辑Command:
  • UE4 显示帧率的几种姿势「建议收藏」
  • 启动Game.exe,查看效果:
  • UE4 显示帧率的几种姿势「建议收藏」
当然上面的方法是在Editor中实现,还可以直接在代码中实现:
1.调用UKismetSystemLibrary::ExecuteConsoleCommand:
/**
	 * Executes a console command, optionally on a specific controller
	 * 
	 * @param	Command			Command to send to the console
	 * @param	SpecificPlayer	If specified, the console command will be routed through the specified player
	 */
	UFUNCTION(BlueprintCallable, Category="Development",meta=(WorldContext="WorldContextObject"))
	static void ExecuteConsoleCommand(UObject* WorldContextObject, const FString& Command, class APlayerController* SpecificPlayer = NULL );
其本质上是调用的APlayerControllor的接口:
void UKismetSystemLibrary::ExecuteConsoleCommand(UObject* WorldContextObject, const FString& Command, APlayerController* Player)
{
	// First, try routing through the primary player
	APlayerController* TargetPC = Player ? Player : UGameplayStatics::GetPlayerController(WorldContextObject, 0);
	if( TargetPC )
	{
		TargetPC->ConsoleCommand(Command, true);
	}
}

2.还可以自己实现上述功能,直接调用APlayerControllor的接口:

UGameEngine *GameEngine = GEngine ? Cast<UGameEngine>(GEngine) : nullptr;
	UWorld* World = GameEngine ? GameEngine->GetGameWorld() : nullptr;
	//ULevel *Level = World ? World->PersistentLevel : nullptr;
	if (World)
	{
		APlayerController *Controller = World->GetFirstPlayerController();
		if (Controller)
		{
			Controller->ConsoleCommand(FString(command), false);
		}
	}

本文地址:
UE4 显示帧率的几种姿势_GreenArrowMan-CSDN博客-CSDN博客

交流qq:1245178753

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129635.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java之数组和链表的区别「建议收藏」

    java之数组和链表的区别「建议收藏」数组是有下标索引和data两部分组成链表是有data和指向下一个数据的指针地址两部分组成数组的特点 在内存中,数组是一块连续的区域。拿上面的看电影来说,这几个人在电影院必须坐在一起。 数组需要预留空间,在使用前要先申请占内存的大小,可能会浪费内存空间。比如看电影时,为了保证10个人能坐在一起,必须提前订好10个连续的位置。这样的好处就是能保证10个人可以在一起。但是这样的缺…

    2022年6月25日
    25
  • vue 富文本编辑框_基于vue的富文本编辑器

    vue 富文本编辑框_基于vue的富文本编辑器1、下载插件npmiwangeditor–save插件官网地址:https://www.wangeditor.com/2、封装富文本组件<templatelang=”html”><divclass=”editor”><!–<divref=”toolbar”class=”toolbar”></div>–><divref=”editor”class=”text”></div

    2022年10月9日
    3
  • Activity启动模式SingleTask和Intent.FLAG_ACTIVITY_CLEAR_TOP区别

    Activity启动模式SingleTask和Intent.FLAG_ACTIVITY_CLEAR_TOP区别Activity启动模式介绍Android启动模式之前,先介绍两个概念task和taskAffinity task:翻译过来就是“任务”,是一组相互有关联的activity集合,可以理解为Activity是在task里面活动的。task存在于一个称为backstack的数据结构中,也就是说,task是以栈的形式去管理activity的,所以也叫可以称为“…

    2022年7月17日
    17
  • 3极管工作原理_通信终端工作原理

    3极管工作原理_通信终端工作原理一、很多初学者都会认为三极管是两个PN结的简单凑合(如图1)。这种想法是错误的,两个二极管的组合不能形成一个三极管。我们以NPN型三极管为例(见图2),两个PN结共用了一个P区——基区,基区做得极薄,只有几微米到几十微米,正是靠着它把两个PN结有机地结合成一个不可分割的整体,它们之间存在着相互联系和相互影响,使三极管完全不同于两个单独的PN结的特性。三极管在外加电压

    2022年8月30日
    5
  • SWD接口_swd调试接口定义

    SWD接口_swd调试接口定义SWD接口:我们比较常用的是Jlink下载器,这种下载器有一个缺点就是使用的Jtag20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度。而使用SWD接口下载调试,只

    2022年8月4日
    5
  • csv格式怎么转成excel_比较好一点的Excel转PDF

    csv格式怎么转成excel_比较好一点的Excel转PDF需求说明假如有一个csv文件,打开之后不是想要的编码格式,或者一些数字全都是科学计数法计数。下面你按照下面文档一步一步操作就可以将CSV格式转化成EXCEL格式。1.新建一个excel空文档,如

    2022年8月1日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号