当前位置: 首页 > news >正文

UniTask/Unity的PlayerLoopTiming触发顺序

开始尝试在项目中使用UniTask,发现其中的UniTask.Yield确实很好用,还可以传入PlayerLoopTiming来更细致的调整代码时机,不过平常在Mono中接触的只有Awake,Start,Update等常用Timing,其他的就没怎么接触了,虽然看名字也大概能明白,但姑且还是测试一下。

测试代码:

using UnityEngine;
using System;
using Cysharp.Threading.Tasks;
public class TestScript : MonoBehaviour{bool logTiming = false;async UniTaskVoid TestPlayerLoop(PlayerLoopTiming timing) {await UniTask.Yield(timing);Debug.Log($"{timing} -> {Time.frameCount}");}private void Awake() {logTiming = true;foreach (PlayerLoopTiming timing in Enum.GetValues(typeof(PlayerLoopTiming))) {//跳过FixUpdate的,因为触发时间可以在Setting里调整,和单帧的逻辑不太一样if (timing == PlayerLoopTiming.FixedUpdate) { continue;}if (timing == PlayerLoopTiming.LastFixedUpdate) {continue;}TestPlayerLoop(timing).Forget();}if (logTiming) {Debug.Log($"TestScript Awake -> {Time.frameCount}");}}private void OnEnable() {if (logTiming) {Debug.Log($"TestScript OnEnable -> {Time.frameCount}");}}void Start(){if (logTiming) {Debug.Log($"TestScript Start -> {Time.frameCount}");}}void Update(){if (logTiming) {Debug.Log($"TestScript Update -> {Time.frameCount}");}}private void LateUpdate() {if (logTiming) {Debug.Log($"TestScript LateUpdate -> {Time.frameCount}");logTiming = false;}}
}

结果:

和猜想也大差不差就是了

http://www.lryc.cn/news/480337.html

相关文章:

  • 【报错记录】Steam迁移(移动)游戏报:移动以下应用的内容失败:XXX: 磁盘写入错误
  • C 语言学习-04【结构化程序设计】
  • 机器视觉:轮廓匹配算法原理
  • 动力商城-02 环境搭建
  • 【react】Redux基础用法
  • 使用Python分析股票价格数据并计算移动平均线的实用指南
  • 如何解决FPS低的问题?代码优化方法有哪些?
  • QT信号和槽与自定义的信号和槽
  • LC:二分查找——杂记
  • GA/T1400视图库平台EasyCVR多品牌摄像机视频平台前端监控摄像头镜头的基础知识
  • 【C++】踏上C++的学习之旅(六):深入“类和对象“世界,掌握编程的黄金法则(一)
  • 【物联网技术】ESP8266 WIFI模块在STA模式下作为TCP客户端上电自动进入透传数据模式
  • 重构代码之用委托替代继承
  • 软件设计师下午题UML15分
  • css background-image背景图片轮播
  • java---认识异常(详解)
  • Linux基础学习笔记
  • 自动泊车端到端算法 ParkingE2E 介绍
  • 《手写Spring渐进式源码实践》实践笔记(第十七章 数据类型转换)
  • W3C HTML 活动
  • 机器学习—为什么我们需要激活函数
  • 软考系统架构设计师论文:论软件的可靠性评价
  • C++:线程(thread)的创建、调用及销毁
  • 关于随身wifi,看了再决定要不要买!2024年最受欢迎的随身wifi品牌推荐!
  • SpringMVC总结 我的学习笔记
  • DevCheck Pro手机硬件检测工具v5.33
  • 数据分析ReAct工作流
  • Rust-AOP编程实战
  • Flutter鸿蒙next 中的 Expanded 和 Flexible 使用技巧详解
  • 【微信小游戏学习心得】