图像处理方法、设备和存储介质技术

技术编号:31820386 阅读:15 留言:0更新日期:2022-01-12 12:11
本申请涉及一种图像处理方法、设备和存储介质。该方法在目标渲染操作完成后,即时从渲染执行硬件中读取其渲染结果,以根据该渲染结果对目标渲染操作进行渲染异常检测,若该目标渲染操作出错,会反映到其渲染结果上,根据渲染结果可以发现目标渲染操作的异常,从而将渲染错误定位到目标渲染操作,进而仅需要对目标渲染操作对应的代码进行问题排查。单个渲染操作的代码量远远小于完整的渲染过程的代码量,因此可以达到快速定位渲染问题代码的目的。因此可以达到快速定位渲染问题代码的目的。因此可以达到快速定位渲染问题代码的目的。

【技术实现步骤摘要】
图像处理方法、设备和存储介质


[0001]本申请涉及图像处理
,特别是涉及一种图像处理方法、设备和存储介质。

技术介绍

[0002]目前的拍照、摄影软件,以及修图软件,均提供多种多样的特效渲染功能。使用上述软件可以在图片或视频中的目标物上叠加多个特效,在渲染过程中,需要依次实现每个特效的渲染,即渲染过程包括多个渲染操作。在此过程中,若某一个特效的渲染操作出现错误,将会导致整体渲染过程出错,最终呈现出异常的渲染效果。
[0003]当渲染出现错误,就需要定位出错的特效实现代码,以更改代码错误。但特效的实现代码量较大,从大量代码中定位错误代码的难度较高。

技术实现思路

[0004]为解决如何快速定位错误特效实现代码的问题,本申请实施例提出一种图像处理方法、设备和存储介质。
[0005]第一方面,本申请实施例提供一种图像处理方法,在包括多个渲染操作的图像渲染过程中,该方法包括:
[0006]目标渲染操作完成后,将该目标渲染操作的渲染结果从图形处理器的帧缓冲单元写入主处理器的缓存;
[0007]输出主处理器的缓存中的上述渲染结果。
[0008]本申请实施例提供的方法在目标渲染操作完成后,即时从图形处理器中读取其渲染结果并输出,以根据该渲染结果对目标渲染操作进行渲染异常检测,若该目标渲染操作出错,会反映到其渲染结果上,根据渲染结果可以发现目标渲染操作的异常,从而将渲染错误定位到目标渲染操作,进而仅需要对目标渲染操作对应的代码进行问题排查。单个渲染操作的代码量远远小于完整的渲染过程的代码量,因此可以达到快速定位渲染问题代码的目的。应当指出的是,本申请实施例提供的方法不仅可以用于对目标渲染操作进行渲染异常检测,还可以用于其他实现场景,例如在游戏场景中,采用本申请实施例提供的方法进行抓帧处理,从而抓取目标游戏画面进行分析。
[0009]可选的,渲染结果用于对所述目标渲染操作进行渲染异常检测。
[0010]可选的,所述目标渲染操作是根据客户端人机交互界面的目标控件触发事件确定的。
[0011]由于从图形处理器读取渲染结果的内存开销较大,为了避免频繁抓取渲染结果,可以仅在发生目标空间触发事件进行渲染效果的抓取,以减少内存开销。
[0012]在上述任意方法实施例的基础上,上述输出主处理器的缓存中的上述渲染结果的实现方式可以包括以下至少一个步骤:
[0013]在客户端的主线程上根据主处理器的缓存中的渲染结果生成展示图像,并在显示屏上显示展示图像;
[0014]在客户端的后台线程上根据主处理器的缓存中的渲染结果生成展示图像,并将展示图像保存到第一非瞬时性存储器的指定路径;
[0015]在客户端的后台线程上根据主处理器的缓存中的渲染结果生成展示图像,并将展示图像发送给第一接收端设备;
[0016]在客户端的后台线程上将主处理器的缓存中的渲染结果保存到第二非瞬时性存储器的指定路径;
[0017]在客户端的后台线程上将主处理器的缓存中的渲染结果发送给第二接收端设备。
[0018]在上述任意方法实施例的基础上,所述将所述目标渲染操作的渲染结果从图形处理器的帧缓冲单元写入主处理器的缓存,包括:
[0019]在客户端的渲染线程上将所述目标渲染操作的渲染结果从图形处理器的帧缓冲单元写入主处理器的缓存。
[0020]本申请实施例提供的方法,在客户端的渲染线程进行图像的抓取,而不是在操作系统层面进行图像的抓取,不受限于系统权限,在不同的操作系统、不同的操作系统版本上都可以正常运行。
[0021]第二方面,本申请实施例提供一种电子设备,该电子设备包括:
[0022]图像抓取模块,用于目标渲染操作完成后,将所述目标渲染操作的渲染结果从图形处理器的帧缓冲单元写入主处理器的缓存,所述目标渲染操作为包括多个渲染操作的图像渲染过程中的渲染操作;
[0023]图像输出模块,用于输出所述主处理器的缓存中的所述渲染结果。
[0024]本申请实施例提供的电子设备在目标渲染操作完成后,即时从图形处理器中读取其渲染结果并输出,以根据该渲染结果对目标渲染操作进行渲染异常检测,若该目标渲染操作出错,会反映到其渲染结果上,根据渲染结果可以发现目标渲染操作的异常,从而将渲染错误定位到目标渲染操作,进而仅需要对目标渲染操作对应的代码进行问题排查。单个渲染操作的代码量远远小于完整的渲染过程的代码量,因此可以达到快速定位渲染问题代码的目的。应当指出的是,本申请实施例提供的电子设备不仅可以用于对目标渲染操作进行渲染异常检测,还可以用于其他实现场景,例如在游戏场景中,采用本申请实施例提供的电子设备进行抓帧处理,从而抓取目标游戏画面进行分析。
[0025]可选的,所述渲染结果用于对所述目标渲染操作进行渲染异常检测。
[0026]可选的,所述目标渲染操作是根据客户端人机交互界面的目标控件触发事件确定的。
[0027]由于从图形处理器读取渲染结果的内存开销较大,为了避免频繁抓取渲染结果,可以仅在发生目标空间触发事件进行渲染效果的抓取,以减少内存开销。
[0028]在上述任意电子设备施例的基础上,可选的,图像输出模块用于执行以下至少一个步骤:
[0029]在客户端的主线程上根据主处理器的缓存中的渲染结果生成展示图像,并在显示屏上显示展示图像;
[0030]在客户端的后台线程上根据主处理器的缓存中的渲染结果生成展示图像,并将展示图像保存到第一非瞬时性存储器的指定路径;
[0031]在客户端的后台线程上根据主处理器的缓存中的渲染结果生成展示图像,并将展
示图像发送给第一接收端设备;
[0032]在客户端的后台线程上将主处理器的缓存中的渲染结果保存到第二非瞬时性存储器的指定路径;
[0033]在客户端的后台线程上将主处理器的缓存中的渲染结果发送给第二接收端设备。
[0034]在上述任意电子设备施例的基础上,可选的,所述图像抓取模块用于:在客户端的渲染线程上将所述目标渲染操作的渲染结果从图形处理器的帧缓冲单元写入主处理器的缓存。
[0035]本申请实施例提供的电子设备,在客户端的渲染线程进行图像的抓取,而不是在操作系统层面进行图像的抓取,不受限于系统权限,在不同的操作系统、不同的操作系统版本上都可以正常运行。
[0036]第三方面,本专利技术实施例提供一种电子设备,包括处理器和存储器;
[0037]存储器用于存储执行上述第一方面任意方法实施例的程序;
[0038]处理器被配置为执行存储器中存储的程序。
[0039]本申请实施例提供的电子设备在目标渲染操作完成后,即时从图形处理器中读取其渲染结果并输出,以根据该渲染结果对目标渲染操作进行渲染异常检测,若该目标渲染操作出错,会反映到其渲染结果上,根据渲染结果可以发现目标渲染操作的异常,从而将渲染错误定位到目标渲染操作,进而仅需要对目标渲染操作对应的代码进行问题排查。单个渲染操作的代码量远远小于完整本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图像处理方法,其特征在于,在包括多个渲染操作的图像渲染过程中,所述方法包括:目标渲染操作完成后,将所述目标渲染操作的渲染结果从图形处理器的帧缓冲单元写入主处理器的缓存;输出所述主处理器的缓存中的所述渲染结果。2.根据权利要求1所述的方法,其特征在于,所述渲染结果用于对所述目标渲染操作进行渲染异常检测。3.根据权利要求1所述的方法,其特征在于,所述目标渲染操作是根据客户端人机交互界面的目标控件触发事件确定的。4.根据权利要求1至3任一项所述的方法,其特征在于,所述输出所述主处理器的缓存中的所述渲染结果,包括以下至少一个步骤:在客户端的主线程上根据所述主处理器的缓存中的所述渲染结果生成展示图像,并在显示屏上显示所述展示图像;在客户端的后台线程上根据所述主处理器的缓存中的所述渲染结果生成展示图像,并将所述展示图像保存到第一非瞬时性存储器的指定路径;在客户端的后台线程上根据所述主处理器的缓存中的所述渲染结果生成展示图像,并将所述展示图像发送给第一接收端设备;在客户端的后台线程上将所述主处理器的缓存中的所述渲染结果保存到第二非瞬时性存储器的指定路径;在客户端的后台线程上将所述主处理器的缓存中的所述渲染结果发送给第二接收...

【专利技术属性】
技术研发人员:郑微
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1