CN117689774B 一种动画跳帧方法及相关装置 (荣耀终端股份有限公司)_第1页
CN117689774B 一种动画跳帧方法及相关装置 (荣耀终端股份有限公司)_第2页
CN117689774B 一种动画跳帧方法及相关装置 (荣耀终端股份有限公司)_第3页
CN117689774B 一种动画跳帧方法及相关装置 (荣耀终端股份有限公司)_第4页
CN117689774B 一种动画跳帧方法及相关装置 (荣耀终端股份有限公司)_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

街道东海社区红荔西路8089号深业中本申请提供了一种动画跳帧方法及相关装(Choreographer)可以根据循环动画的标志位,配合Vsync信号触发跳帧进行绘制、渲染和送显2接收用于打开第一界面的第一操作,所述第一界面包括第一在接收到所述第一操作后,通过编舞者在第一时刻接收到第一通过图层合成器对绘制和渲染后的动画帧进行图层合成,并在所述第所述第一循环动画的动画帧和所述第二循环动画的在通过图层合成器对绘制和渲染后的动画帧进行图层合成后,录包括所述动画帧的时间戳和标志位;所述标志位大于或等于所述第一预设值,N为正整若所述回调队列中时间戳在所述第一时刻之前的M个回调记录中存在动画帧的标志位在通过所述第一应用对M个回调记录对应的M个动画帧进行绘制和渲染后,将所述M个6.根据权利要求4或5所述的方法,其特征在于,所通过所述图层合成器在获取到第二垂直同步信号后,对绘制和渲染后的所述M个动画若所述回调队列中时间戳在所述第一时刻之前的M个回调记录中,动画帧的标志位都3响应于时间戳在所述第一时刻之前的动画帧的通过编舞者在第二时刻接收到第二垂直同步信号,响应于时间戳在所二垂直同步信号为所述第一垂直同步信号的下一个垂直同若所述回调队列中时间戳在所述第二时刻之前的M个回调记录中动画帧的标志位都不所述响应于时间戳在所述第二时刻之前的动画帧的标志位为所述第一若所述回调队列中时间戳在所述第二时刻之前的K个回调记录中存在动画帧的标志位所述响应于时间戳在所述第二时刻之前的动画帧的标志位不为所述第若所述回调队列中时间戳在所述第二时刻之前的K个回调记录中动画帧的标志位都不在通过所述第一应用对所述K个回调记录对应的K个动画帧通过所述图层合成器在获取到第三垂直同步信号后,对绘制和渲染后的所述K个动画45[0003]本申请提供了一种动画跳帧方法及相关装置,可以实现编舞者(Choreographer)有循环动画的第一界面时,电子设备的编舞者(Choreographer)可以根据循环动画的标志6间戳在该第一时刻之前的M个回调记录中存在动画帧的标志位等于该第一预设值的回调记括:若该回调队列中时间戳在该第二时刻之前的M个回调记录中动画帧的标志位都不等于7个处理器执行该计算机指令时,使得执行上述第一方面中任一项可能的实现方式中的方个功能模块用于执行上述第一方面中任一项可能的实现于运行指令以执行上述任一方面任一项可能的8(applicationprocessor,AP),调制解调处理器,图形处理器(graphicsprocessing[0045]天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆[0046]移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信9[0048]无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocalareanetworks,WLAN)(如无线保真(wirelessfidelity,Wi_Fi)网络),蓝牙无线通信技术可以包括全球移动通讯系统(globalsystemformobilecommunications,GSM),通用分组无线服务(generalpacketradioservice,GPRS),码分多址接入(codedivisionmultipleaccess,CDMA),宽带码分多址(widebandcodedivisionmultipleaccess,WCDMA),时分码分多址(time_divisioncodedivisionmultipleaccess,TD_统(globalnavigationsatellitesystem,GLONASS),北斗卫星导航系统(beidounavigationsatellitesystem,BDS),准天顶卫星系统(quasi_zenithsatellite晶显示屏(liquidcrystaldisplay,LCD)。显示屏面板还可以采用有机发光二极管light_emittingdiode,FLED),miniled,microled,micro_oled,量子点发光二极管[0054]摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元[0056]视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种[0059]内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括[0061]音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风信工业协会(cellulartelecommunicationsindustryassociationoftheUSA,CTIA)面型计算机、膝上型计算机、超级移动个人计算机(ultra_mobilepersonalcomputer,渲染,然后,应用可以将渲染完成的动画帧存入图层缓冲区(buffer)提供给图层合成器图层合成之后,得到图像帧,会将图层合成之后的图像帧送入显示屏上刷新显示。而面撕裂的现象,显示屏对应的硬件模块可以生成周期与刷新率相同的Vsync信号,给到以寻求合适的时机进行绘制操作。编舞者在接收到SurfaceFlinger发送的垂直同步信号使用OnVsync回调方法成功接收到垂直同步信号后,会通知应用开始对界面中的动画帧的指示的buffer中。SurfaceFlinger获取到送帧指令后,可以获取到动画帧的buffer,在SurfaceFlinger检测到动画帧的buffer中填入渲染好的动画帧后,可以等待下一个VsyncSurfaceFlinger可以将图像帧送到显示屏进[0077]例如,编舞者在接收到垂直同步信号1(VSYNC1)时,可以处理动画帧1的回调完的画面帧1存入渲染指令1指示的动画帧1的buffer中。SurfaceFlinger可以通过送帧指得到图像帧1。SurfaceFlinger可以将图像帧1送入显示屏。显示屏可以在垂直同步信号3完的画面帧2存入渲染指令2指示的动画帧2的buffer中。SurfaceFlinger可以通过送帧指得到图像帧2。SurfaceFlinger可以将图像帧2送入显示屏。显示屏可以在垂直同步信号4完的画面帧3存入渲染指令3指示的动画帧3的buffer中。SurfaceFlinger可以通过送帧指得到图像帧3。SurfaceFlinger可以将图像帧3送入显示屏。显示屏可以在垂直同步信号5[0082]电子设备100可以接收用户对状态栏311的操作(例如向下画帧A1的buffer中填入渲染好的动画帧A1,动画帧B1的buffer中填入渲染好的动画帧B1,画帧A1的buffer中取出动画帧A1,从动画帧B1的buffer中取出动画帧B1,从动画帧C1的在VSYNC1的到达时刻与VSYNC2的到达时刻之间。编舞者在接收到垂直同步信号2(VSYNC2)程(RenderThread)调用GPU对动画帧A3、动画帧C2进行渲染。应用可以将动画帧A3的帧的回调,以触发应用开始绘制渲染动画帧,并将绘制渲染完的动画帧送入SurfaceFlinger进行图层合成。SurfaceFlinger用于将GPU渲染完成的动画帧进行图层合开放图形库(opengraphicslibrary,OpenGL)、针对嵌入式系统的开放图形库(opengraphicslibraryforembeddedsystems,OpenGLES)、以及绘图应用程序接口[0101]内核层可以包括图形处理器驱动(graphicsprocessingunitdriver,GPU口配置的渲染动画帧的操作)。显示屏驱动可以用于驱动显示屏显示SurfaceFlinger合成[0110]在一种可能的实现方式中,应用可以确定动画的属性和/或电子设备100的负载[0118]动画模块可以根据动画帧在动画中的帧位置、显示屏的刷新率和动画的开始时[0125]其中,编舞者可以使用OnVsync回调方法接收Vsync信号。具体有关编舞者接收[0135]SurfaceFlinger在获取到一个或多个动画帧的buffer后,可以等待下一个Vsync画帧A1的buffer给到SurfaceFlinger,送帧指令A2用于将动画A中动画帧A2的buffer给到SurfaceFlinger,送帧指令A3用于将动画A中动画帧A3的buffer给到SurfaceFlinger。其[0139]其中,SurfaceFlinger可以通过CPU的处理能力对渲染完的画面帧进行图层合成[0140]在一种可能的实现方式中,SurfaceFlinger也可以通过GPU的处理能力对渲染完以根据动画帧数据中的跳帧标志位,配合Vsync信号触发一个或多个动画的动画帧跳帧进刻接收到第一垂直同步信号。电子设备100可以响应于时间戳在该第一时刻之前的动画帧画的动画帧。电子设备100可以在通过图层合成器对绘制和渲染后的动画帧进行图层合成[0148]下面介绍本申请实施例中编舞者根据回调队列中回调记录的跳帧标志位以及时[0164]S707、编舞者触发应用基于取出的M个回调记录绘制渲染M个动画帧,并通过按照时间戳的先后顺序将取出的M个回调记录重新存入到回调队于取出的M个回调记录绘制和渲染M个动画帧,并通过SurfaceFlinger根据渲染完的M个动直同步信号的下一个垂直同步信号。若回调队列中时间戳在第二时刻之前的M个回调记录中动画帧的标志位都不等于第一预设值,将述M个回调记录中动画帧的标志位都减去所述[0171]示例性的,若回调队列中时间戳在第二时刻之前的K个回调记录中存在动画帧的[0172]若回调队列中时间戳在第二时刻之前的K个回调记录中动画帧的标志位都不等于[0176]在第一应用绘制和渲染后的上述K个动画帧后,图层合成器在获取到第三垂直同[0181]例如,回调队列中可以包括有回调记录A(CallbackRecord_A)、回调记录B调记录E(CallbackRecord_E)、回调记录F(CallbackRecord_F)、回调记录G和渲染后的动画帧传入SurfaceFling[0206]在编舞者接收到垂直同步信号1(VSYNC1)时,由于回调队列中存在时间戳在VSYNC1的到达时刻之前的回调记录的跳帧标志位为0,编舞者可以执行回调队列中时间戳中时间戳在VSYNC1的到达时刻之前的渲染。应用可以将动画帧A1的buffer、动画帧B1的buffer以及动画帧C1的buffer送给画帧B1存入到动画帧B1的buffer中,将渲染完的动画帧C1存入到动画帧C1的buffer中。动画帧B1,从动画帧C1的buffer中取出动画帧C1,进行图层合成处理,得到图像帧1。SurfaceFlinger可以将图像帧1送入显示屏。显示屏可以在垂直同步信号3(VSYNC3)到来[0209]在编舞者接收到垂直同步信号2(VSYNC2)时,由于回调队列中不存在时间戳在队列中时间戳在VSYNC2之前的回调记录的跳帧标志位都减1,再重新按照时间戳的先后顺[0212]在编舞者接收到垂直同步信号3(VSYNC3)时,由于回调队列中存在时间戳在VSYNC3的到达时刻之前的回调记录的跳帧标志位为0,编舞者可以执行回调队列中时间戳[0214]由于动画帧A2和动画帧A3都属于动画A,且动画帧A3的时间戳在动画帧A4的时间帧A3的buffer中取出动画帧A3,从动画帧B2的buffer中取出动画帧B2,从动画帧C2的第一应用可以给多个动画设置不同的跳帧标志位,电子设备的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论