增量同步方法、装置、电子设备及存储介质与流程
本申请涉及计算机,具体涉及增量同步方法、装置、电子设备及存储介质。
背景技术:
1、在游戏和动画开发中,序列帧图(spritesheet,也可称为精灵图)是将多帧动画按网格排列在单张纹理中的常用纹理资产格式。编辑序列帧图中的帧单元后,需将更新内容同步至图形处理器以呈现预览。目前常见的处理方案主要有以下三类:全量重建方式,无论被编辑的帧单元有多少,均重新合成整张序列帧图并整体上传纹理数据;依赖框架的全量上传标记方式,通过设定更新标志由渲染框架在下一帧执行整张纹理的全量上传;逐帧独立纹理方式,为每帧创建独立纹理,编辑时仅重新上传对应的单个纹理。
2、然而,全量重建方式在仅修改少量帧单元时,仍需处理全部像素数据,导致开销大、延迟高,难以满足实时交互预览要求。依赖全量上传标记的方式既无法对纹理局部区域单独更新,也不具备变化检测能力。即使编辑未实质改变帧内容,仍会触发整张纹理上传。逐帧独立纹理方式完全抛弃了序列帧图的结构,致使动画播放时纹理切换频繁、绘制调用增加、显存碎片化,且与主流引擎的资产导入流程不兼容。
技术实现思路
1、有鉴于此,本申请提供了一种增量同步方法、装置、电子设备及存储介质,以解决序列帧图编辑后同步效率低下的问题。
2、第一方面,本申请提供了一种增量同步方法,包括:响应于对序列帧图中至少一个帧单元的编辑操作,获取被编辑的各个帧单元更新后的帧图像;获取与序列帧图尺寸相同的像素副本;针对任一帧单元,将帧单元对应的帧图像写入帧单元在像素副本中的目标单元格区域,得到目标单元格区域对应的目标内容校验值;获取各个帧单元对应的历史内容校验值,分别比对各个帧单元对应的历史内容校验值与目标内容校验值,确定各个帧单元中的变更帧单元;基于变更帧单元的数量与序列帧图中帧单元数量之间的比值,确定针对序列帧图的目标更新策略;按照目标更新策略对序列帧图进行增量同步。
3、在一些可选的实施方式中,目标更新策略包括局部更新策略和全量更新策略;基于变更帧单元的数量与序列帧图中帧单元数量之间的比值,确定针对序列帧图的目标更新策略,包括:获取序列帧图的目标纹理尺寸,以及预设的纹理尺寸与策略选择阈值之间的对应关系;基于对应关系,确定与目标纹理尺寸对应的目标策略选择阈值;若比值未超过策略选择阈值,则将局部更新策略确定为针对序列帧图的目标更新策略;若比值超过策略选择阈值,则将全量更新策略确定为针对序列帧图的目标更新策略。
4、在一些可选的实施方式中,按照局部更新策略对序列帧图进行增量同步,包括:针对任一变更帧单元,从像素副本中提取变更帧单元对应的单元格像素数据;获取序列帧图对应纹理,确定纹理中与变更帧单元的单元格位置对应的纹理区域;将单元格像素数据写入纹理区域。
5、在一些可选的实施方式中,确定序列帧图对应纹理中与变更帧单元的单元格位置对应的纹理区域,包括:获取变更帧单元的行列位置,以及精灵表的单元格尺寸信息;基于行列位置和单元格尺寸信息,确定变更帧单元在纹理中的位置偏移;将纹理中位置偏移对应的区域确定为纹理区域。
6、在一些可选的实施方式中,按照全量更新策略对序列帧图进行增量同步,包括:基于像素副本,生成序列帧图的完整纹理图像;将完整纹理图像设置为序列帧图对应纹理的图像数据。
7、在一些可选的实施方式中,针对任一帧单元,将帧单元对应的帧图像写入帧单元在像素副本中的目标单元格区域,得到目标单元格区域对应的目标内容校验值,包括;获取被编辑的各个帧单元对应的帧单元标识;利用各个帧单元标识,确定各个帧单元在像素副本中的单元格区域;针对任一帧单元,将帧单元对应的帧图像写入帧单元在像素副本中的目标单元格区域,得到目标单元格区域更新后的单元格像素数据;基于预设的内容校验函数对单元格像素数据进行摘要提取,得到单元格像素数据对应的目标内容校验值。
8、在一些可选的实施方式中,将帧单元对应的帧图像写入帧单元在像素副本中的目标单元格区域,得到目标单元格区域更新后的单元格像素数据,包括:获取目标单元格区域的尺寸信息;按照尺寸信息对帧图像进行缩放,得到缩放后的帧图像;将缩放后的帧图像写入目标单元格区域,得到目标单元格区域更新后的单元格像素数据。
9、在一些可选的实施方式中,在按照目标更新策略对序列帧图进行增量同步之后,还包括:若目标更新策略为局部更新策略,则将变更帧单元的历史内容校验值替换为目标内容校验值。
10、第二方面,本申请提供了一种增量同步装置,包括:第一获取模块,用于响应于对序列帧图中至少一个帧单元的编辑操作,获取被编辑的各个帧单元更新后的帧图像;第二获取模块,用于获取与序列帧图尺寸相同的像素副本;写入模块,用于针对任一帧单元,将帧单元对应的帧图像写入帧单元在像素副本中的目标单元格区域,得到目标单元格区域对应的目标内容校验值;比对模块,用于获取各个帧单元对应的历史内容校验值,分别比对各个帧单元对应的历史内容校验值与目标内容校验值,确定各个帧单元中的变更帧单元;确定模块,用于基于变更帧单元的数量与序列帧图中帧单元数量之间的比值,确定针对序列帧图的目标更新策略;同步模块,用于按照目标更新策略对序列帧图进行增量同步。
11、第三方面,本申请提供了一种电子设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的增量同步方法。
12、第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的增量同步方法。
13、第五方面,本申请提供了一种计算机程序产品,包括计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的增量同步方法。
14、本申请实施例提供的增量同步方法,通过获取被编辑帧单元更新后的帧图像,并将其写入序列帧图尺寸相同的像素副本中对应的目标单元格区域以计算目标内容校验值,再与历史校验值比对,从而精准识别出实际发生内容变化的变更帧单元。这种方式仅需针对被编辑的帧单元执行校验值计算与比对,无需处理未涉及编辑的帧单元,有效降低了不必要的计算开销。同时,依据变更帧单元数量与帧单元总数的比值来确定目标更新策略,使得同步方式能够与每次编辑操作的实际变更幅度自适应匹配,避免了在变更量极小时采用沉重操作或在变更量较大时因频繁操作导致的效率下降,从而在保证同步准确性的前提下,实现整体同步性能的优化。
1.一种增量同步方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述目标更新策略包括局部更新策略和全量更新策略;所述基于所述变更帧单元的数量与所述序列帧图中帧单元数量之间的比值,确定针对所述序列帧图的目标更新策略,包括:
3.根据权利要求2所述的方法,其特征在于,按照所述局部更新策略对所述序列帧图进行增量同步,包括:
4.根据权利要求3所述的方法,其特征在于,所述确定所述序列帧图对应纹理中与所述变更帧单元的单元格位置对应的纹理区域,包括:
5.根据权利要求2所述的方法,其特征在于,按照所述全量更新策略对所述序列帧图进行增量同步,包括:
6.根据权利要求1所述的方法,其特征在于,所述针对任一所述帧单元,将所述帧单元对应的所述帧图像写入所述帧单元在所述像素副本中的目标单元格区域,得到所述目标单元格区域对应的目标内容校验值,包括;
7.根据权利要求6所述的方法,其特征在于,所述将所述帧单元对应的所述帧图像写入所述帧单元在所述像素副本中的目标单元格区域,得到所述目标单元格区域更新后的单元格像素数据,包括:
8.根据权利要求2所述的方法,其特征在于,在所述按照所述目标更新策略对所述序列帧图进行增量同步之后,还包括:
9.一种增量同步装置,其特征在于,所述装置包括:
10.一种电子设备,其特征在于,包括:
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至8中任一项所述的增量同步方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com