System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,具体涉及实现日期更新和按固定执行时间周期执行任务方法、装置、系统及计算机可读存储介质。
技术介绍
1、计算机软件开发中通常遇到需要模拟现实时间更替的需求,比如策略类游戏开发、可改变日期的虚拟仿真项目或一段时间内数据的可视化工具等,通常有需要按照固定的单位时间更新以及需要在固定的时间点结算等需求,在传统的实现方式中,时间更替通常由程序底层每帧执行驱动,比如一次升级执行一次日更新,并做对应所有结算,但由于每个结算时间点执行任务的顺序必须保持一致,因此程序极度依赖于单线程的升级更新,导致程序性能比较差。
技术实现思路
1、有鉴于此,本专利技术提供了实现日期更新和按固定执行时间周期执行任务方法、装置、系统及计算机可读存储介质,以解决每个结算时间点执行任务的顺序必须保持一致,因此程序极度依赖于单线程的升级更新,导致程序性能比较差的问题。
2、第一方面,本专利技术提供了一种实现日期更新和按固定执行时间周期执行任务方法,应用于实体组件系统,所述方法包括:按照预设的时间周期获取实体组件系统中所有待执行的任务,所述待执行的任务带有对应的执行时间周期;查询日期组件确定当前的任务执行时间,从所述所有待执行的任务中筛选出所述执行时间周期对应的执行时间与所述当前的任务执行时间一致的待执行的任务,作为可执行的任务;对所述可执行的任务进行任务执行处理,并在所有可执行的任务执行完成后,更新所述日期组件的时间。
3、本专利技术提供的实现日期更新和按固定执行时间周期执行任
4、在一种可选的实施方式中,所述从所述所有待执行的任务中筛选出所述执行时间周期对应的执行时间与所述当前的任务执行时间一致的待执行的任务,作为可执行的任务,包括:基于所述执行时间周期和预设的排序顺序对所有待执行的任务进行排序;从排序后的所有待执行的任务中按照所述排序顺序依次筛选出所述执行时间周期对应的执行时间与所述当前的任务执行时间一致的待执行的任务,作为可执行的任务。
5、本专利技术在获取所有待执行的任务后,基于任务的执行时间周期对待执行的任务进行排序,并按照排序顺序筛选出可执行的任务,提高了筛选任务的效率,继而提高整体逻辑性能的效率。
6、在一种可选的实施方式中,所述对所述可执行的任务进行任务执行处理,包括:基于预先设定的每一次进行任务处理可消耗的固定的帧数以及每帧可消耗的时间,从筛选出的可执行的任务中提取当前任务,并在当前帧执行所述当前任务,所述可执行的任务按照所述排序顺序依次执行;在所述当前任务执行完成后,统计所述当前任务与在当前帧执行的历史任务消耗的累加时间,判断所述累加时间是否超过当前帧可消耗的时间;若超出当前帧可消耗的时间,则进入下一帧,并利用下一帧执行下一任务;若未超出当前帧可消耗的时间,则利用当前帧继续执行下一任务。
7、本专利技术通过设定每次进行任务处理对应的可消耗的固定的帧数和每帧可消耗的时间,分成了多帧来执行任务,且每帧完成任务更新对应的耗时时间一致,提高了帧率的稳定性。
8、在一种可选的实施方式中,所述方法还包括:在所述可执行的任务全部执行完毕后,判断是否存在剩余的可消耗的帧;若存在剩余的可消耗的帧,基于所述每帧可消耗的时间执行帧休眠,直至休眠的时间达到剩余的可消耗的帧对应的可消耗的累加时间。
9、本专利技术在可执行的任务全部完成后,若还存在剩余的可消耗的帧,则执行帧休眠,直至休眠的时间达到剩余的可消耗的帧对应的可消耗的累加时间,保证每帧耗时时间一致,继而表示出的结果就是程序在自动按日更新时用户感受到的实际每日经过时间一致,提高了用户体验。
10、在一种可选的实施方式中,所述方法还包括:在进入最后帧执行所述可执行的任务时,若有剩余的可执行的任务未执行,则在所述最后帧执行所有剩余的可执行的任务。
11、本专利技术在进入最后帧执行任务时,若还有剩余的可执行的任务未执行,则在最后帧执行所有剩余的可执行的任务,保证所有可执行的任务执行完成。
12、在一种可选的实施方式中,在进入最后帧执行所述可执行的任务时,若有剩余的可执行的任务未执行,所述方法还包括:向客户发送调整可消耗的固定帧数和/或每帧可消耗的时间的提示信息,以使用户调整可消耗的固定帧数和/或每帧可消耗的时间。
13、本专利技术向客户发送调整可消耗的固定的帧数和/或每帧可消耗的时间的提示信息,以使用户灵活调整一次任务执行的时间,保证每次固定时间周期执行任务消耗的时间一致。
14、在一种可选的实施方式中,在提取当前任务并在当前帧执行当前任务后,所述方法还包括:判断所述当前任务是否触发协程,若当前任务触发协程,则执行触发的协程;在执行完成所述触发的协程后,执行下一任务。
15、本专利技术若确定执行一个任务消耗的时间就耗费一帧的时间,则可在任务执行时主动开启协程,将该任务划分为普通任务和协程,使得普通任务执行消耗的时间小于一帧的时间,可利用下一帧执行协程,保证每帧消耗的时间一致。
16、第二方面,本专利技术提供了一种实现日期更新和按固定执行时间周期执行任务装置,应用于实体组件系统,所述装置包括:任务获取模块,用于按照预设的时间周期获取实体组件系统中所有待执行的任务,所述待执行的任务带有对应的执行时间周期;任务筛选模块,用于查询日期组件确定当前的任务执行时间,从所述所有待执行的任务中筛选出所述执行时间周期对应的执行时间与所述当前的任务执行时间一致的待执行的任务,作为可执行的任务;任务执行模块,用于对所述可执行的任务进行任务执行处理,并在所有可执行的任务执行完成后,更新所述日期组件的时间。
17、第三方面,本专利技术提供了一种实现日期更新和按固定执行时间周期执行任务系统,所述系统为实体组件系统,所述系统包括帧更新系统和日期组件,其中,帧更新系统按照预设的时间周期获取实体组件系统中所有待执行的任务,所述待执行的任务带有对应的执行时间周期;帧更新系统查询日期组件确定当前的任务执行时间,从所述所有待执行的任务中筛选出所述执行时间周期对应的执行时间与所述当前的任务执行时间一致的待执行的任务,作为可执行的任务;帧更新系统对所述可执行的任务进行任务执行处理,并在所有可执行的任务执行完成后,更新所述日期组件的时间。
18、第四方面,本专利技术提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的实现日期更新和按固定执行时间周期执行任务方法。
本文档来自技高网...【技术保护点】
1.一种实现日期更新和按固定执行时间周期执行任务方法,其特征在于,应用于实体组件系统,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从所述所有待执行的任务中筛选出所述执行时间周期对应的执行时间与所述当前的任务执行时间一致的待执行的任务,作为可执行的任务,包括:
3.根据权利要求2所述的方法,其特征在于,所述对所述可执行的任务进行任务执行处理,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,在进入最后帧执行所述可执行的任务时,若有剩余的可执行的任务未执行,所述方法还包括:
7.根据权利要求3所述的方法,其特征在于,在提取当前任务并在当前帧执行当前任务后,所述方法还包括:
8.一种实现日期更新和按固定执行时间周期执行任务装置,其特征在于,应用于实体组件系统,所述装置包括:
9.一种实现日期更新和按固定执行时间周期执行任务系统,其特征在于,所述系统为实体组
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的一种实现日期更新和按固定执行时间周期执行任务方法。
...【技术特征摘要】
1.一种实现日期更新和按固定执行时间周期执行任务方法,其特征在于,应用于实体组件系统,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从所述所有待执行的任务中筛选出所述执行时间周期对应的执行时间与所述当前的任务执行时间一致的待执行的任务,作为可执行的任务,包括:
3.根据权利要求2所述的方法,其特征在于,所述对所述可执行的任务进行任务执行处理,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,在进入最后帧执行所述可执行的任务时...
【专利技术属性】
技术研发人员:楼以渐,王秋洋,
申请(专利权)人:湖南速子文化科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。