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

发布网站建设需求的经验国内三大oa系统

发布网站建设需求的经验,国内三大oa系统,德州网站建设设计,百度推广费用多少钱前言文章属于旧有文章搬运, 之前在csdn上面2019.11.6修改Timer是定时器, 用途:延时执行事件周期性执行事件参考官方文档Using TimersTimer可以...Timer能...Timer...... 编不下去了, 自己百度谷歌吧(手动狗头)TimerManagerTimer的管理类是FTimerManager, 是一个全局的Timer管理…前言文章属于旧有文章搬运, 之前在csdn上面2019.11.6修改Timer是定时器, 用途:延时执行事件周期性执行事件参考官方文档Using TimersTimer可以...Timer能...Timer...... 编不下去了, 自己百度谷歌吧(手动狗头)TimerManagerTimer的管理类是FTimerManager, 是一个全局的Timer管理类.通常通过UWorld::GetTimerManager()获得可以看到实际实现是先判断GameInstance是否存在, 存在返回UGameInstance的TimerManger, 否则返回UWorld自己的TimerManger接着, 如上图, TimerManger在UWorld和UGameInstance的构造函数中创建, 调用构造函数, 不试图赋值UGameInstance在TimerManger的构造函数中, 主要还是给InternalTime设0, 该值是TimerManger内部的一个独立时钟, 在TimerManger的每次Tick调用时计时.在UWorld::Tick中调用FTimerManager的Tick函数实际执行Timer里面的操作TimerManger的销毁是在UWorld::FinishDestroy和UGameInstance::FinishDestroy中delete然后置nullptr, 简单粗暴.Timer的执行从堆栈中也可以FTimerManger::Tick被UWorld::Tick调用如图, 这个函数体主要做了如下内容 : 先调用FTimerManager::HasBeenTickedThisFrame, 并维护LastTickedFrame避免一帧内被多次执行.然后InternalTime计时, 增加DeltaTime偏移量接着对ActiveTimerHeap和PendingTimerSet进行一定逻辑处理ActiveTimerHeap是一个当前活跃的, 待处理的FTimerHandle数组看while循环体主体逻辑:不断取堆顶的FTimerHandle, 并得到对应的FTimerData.如果该FTimerData的状态是可被移除, 那么移除, 继续不断执行, 直到InternalTimer(内部的独立时钟)大于FTimerData的ExpireTime, 即定时器到时间了, 那么执行一定逻辑, 否则, 没有过时间, 就直接break跳出循环因为ActiveTimerHeap是按照过期时间排序的接着看, 如果定时器到时间了, 会将ActiveTimerHeap的堆顶元素移动置CurrentlyExecutingTimer(当前正在执行的Timer), 并更新FTimerData的Status为ETimerStatus::Executing注意, 这里的CurrentlyExecutingTimer和上文中的TopHandler是同一个值, 所以改Top(FTImerData)修改的是同一Timer的信息然后, 重点来了划重点了! 划重点了! 划重点了!上图圈起来的代码, CallCount(执行次数), 为了避免在两帧之间时间过长而导致丢掉一些定时器的间隔执行, 计算, 两帧之间实际需要执行多少次. 设一个Timer, 每0.1秒执行一次, Tick总共过了5秒, 有定时器必定执行50次, 执行次数恒定如果比较卡顿, 每0.5秒执行1帧, 即定时器可能也可以在同一帧执行多次定时器是假定时, 即期望0.1s, 0.2s, 0.3s, 0.4s, 0.5s执行, 实际可能是0.5s, 0.5s, 0.5s, 0.5s, 0.5s执行5次而Timer的执行, 实际上也就是绑定的代理执行. 此处略// 可以参考代理相关的文章自己啃, 难度不大 在执行后有个更新指针的操作, 为了防止执行后无效, 这是为什么呢?考验你C功底的时候到了, 自行理解, 此处忽略(手动狗头)在Timer执行完毕之后, 做清理.如果Timer不循环, 执行一次, 那么完成使命了, 清理掉吧!如果Timer代理无效了, 那么无法完成使命, 也清理掉吧!否则, 嗯, 设置下次时间, 打回去, 接着干活(手动狗头)// 所以循环Timer啊, Timer对应的代理实际对象啊, 多数是不需要人工维护移除的 // 即多数Timer绑定好, 不清除, 也没啥影响, 他会自动移除无效的Timer 最后再看PendingTimerSet的处理, 这是在当前Tick帧添加的定时器集合, 将里面的定时器添加到ActiveTimerHeap里面即很明显, Timer最少也会延迟一帧调用Timer的使用参照上面若干函数, 最后都通过FTimerManger::InternalSetTimer函数SetTimerForNextTick相关基本同, 略FTimerManger::InternalSetTimer中在设置Timer时, 会查找一下TimerHandle是否有效, 有效会清除. 接着就是创建一个FTimerData信息, 并维护, 具体略了最后贴一张使用图, 一些基础知识就懒得提了. // 基础知识 : TimerHandler清除, 获得剩余时间, 暂停和取消暂停, 是否存在等函数 // 看看头文件, 配合使用即可. 以及提一下这两个Timer的代理: DECLARE_DELEGATE(FTimerDelegate)DECLARE_DYNAMIC_DELEGATE(FTimerDynamicDelegate)自行参考代理相关文章, 配合使用, 能玩出花(笑)结语骗赞, 骗评论了.
http://www.pierceye.com/news/719558/

相关文章:

  • 华丽的网站模板律所网站建设
  • 网站 管理系统搜索关键词的方法
  • 网站桥页也叫设计班级网站建设
  • 安庆网站建设工作室方维网络科技有限公司
  • 手机网站开发利用流程做网盟行业网站的图片广告的销售
  • 厦门建公司网站怎样自做网站
  • 兰州市网站建设公司无锡上海网站建设
  • 轻骑铃木摩托车官网资源专业网站优化排名
  • 做电影网站赚钱吗中企网站建设
  • 罗源网站建设免费建网站 步骤
  • 哪些网站做简历合适wordpress校园
  • 网站子目录怎么做国内做的比较好的二手网站
  • 短链生成网站html模板免费十个网页
  • 图跃企业网站建设seo提供服务
  • 厦门市建设管理协会网站发帖效果好的网站
  • 手机商城网站制作网页设计与制作的岗位职责
  • 教学网站系统流程图wordpress激活主题
  • 北京房地产网站建设做app还是做微网站好
  • 网站建设的整个流程管理咨询公司网站
  • 长沙网站建设有限公司怎么做网站赚大钱
  • 找做网站页的在哪找沭阳建设局网站
  • 私人做网站有什么用不断加强门户网站建设
  • WordPress简单百度站长插件使用cms建设网站安全吗
  • 响水做网站价格余江网站建设
  • 好的免费个人网站网站建设所需要的材料
  • 南宁本地网站有哪些建筑工程网络组网
  • 如何构建一个网站wordpress更换ssl
  • 做电影网站需要注意什么安徽易企建站
  • 莆田网站格在哪里做网站数据维护
  • 建设的网站别人登录密码做个企业网站多少钱