渲染效果的测试方法、装置、电子设备及存储介质与流程

本公开涉及计算机,特别涉及一种渲染效果的测试方法、装置、电子设备及存储介质。
背景技术:
1、随着互联网技术的快速发展,针对各类图像或视频的处理应用越来越多。而为了保证用户在使用图像或视频处理应用的过程中有一致的体验,需要应用程序的开发人员在渲染引擎的版本迭代过程中,保持图像或者视频的渲染效果的稳定性。因此,如果对应用程序的渲染引擎渲染得到的渲染效果进行测试,是一个需要解决的技术问题。
2、相关技术中,通常对不同迭代版本的渲染引擎渲染得到的渲染效果进行逐像素对比,来测试渲染效果是否存在异常。其中,如果对比得到当前迭代版本的渲染引擎对应的渲染效果与上一个迭代版本的渲染引擎对应的渲染效果不一致,则表明当前迭代版本的渲染引擎渲染得到的渲染效果存在异常。
3、然而,上述方案中,在渲染效果较为复杂的情况下,通过逐像素对比来测试渲染效果的工作量较大,导致渲染效果的测试效率较低。
技术实现思路
1、本公开提供一种渲染效果的测试方法、装置、电子设备及存储介质,能够通过对比当前版本的渲染引擎在渲染时的图形接口调用情况和历史版本的渲染引擎在渲染时的图形接口调用情况,来测试当前版本的渲染引擎渲染得到的渲染效果是否存在异常,从而能够减少测试渲染效果的工作量,提高渲染效果的测试效率。本公开的技术方案如下:
2、根据本公开实施例的一方面,提供了一种渲染效果的测试方法,包括:
3、获取第一调用信息和第二调用信息,所述第一调用信息用于指示通过当前版本的渲染引擎对待渲染图像进行渲染时多个图形接口的调用信息,所述第二调用信息用于指示通过历史版本的渲染引擎对所述待渲染图像进行渲染时多个图形接口的调用信息,所述调用信息包括每个图形接口的调用顺序、调用次数以及调用时所使用的渲染参数;
4、对所述第一调用信息和所述第二调用信息进行对比,得到信息对比结果;
5、基于所述信息对比结果,确定所述当前版本的渲染引擎的测试结果,所述测试结果用于指示所述当前版本的渲染引擎对所述待渲染图像进行渲染得到的渲染效果是否存在异常。
6、根据本公开实施例的另一方面,提供了一种渲染效果的测试装置,包括:
7、获取单元,被配置为获取第一调用信息和第二调用信息,所述第一调用信息用于指示通过当前版本的渲染引擎对待渲染图像进行渲染时多个图形接口的调用信息,所述第二调用信息用于指示通过历史版本的渲染引擎对所述待渲染图像进行渲染时多个图形接口的调用信息,所述调用信息包括每个图形接口的调用顺序、调用次数以及调用时所使用的渲染参数;
8、对比单元,被配置为对所述第一调用信息和所述第二调用信息进行对比,得到信息对比结果;
9、第一确定单元,被配置为基于所述信息对比结果,确定所述当前版本的渲染引擎的测试结果,所述测试结果用于指示所述当前版本的渲染引擎对所述待渲染图像进行渲染得到的渲染效果是否存在异常。
10、在一些实施例中,所述获取单元,被配置为对于所述多个图形接口中任一图形接口,在通过所述当前版本的渲染引擎对所述待渲染图像进行渲染的过程中,响应于对所述图形接口的调用操作,通过钩子函数获取所述图形接口的调用时间和调用时所使用的渲染参数;基于所述多个图形接口的调用时间,统计每个图形接口的调用顺序和调用次数。
11、在一些实施例中,所述获取单元,被配置为基于所述待渲染图像的图像标识,从历史渲染库中获取所述图像标识对应的渲染记录,所述历史渲染库包括所述历史版本的渲染引擎的多个渲染记录,所述图像标识对应的渲染记录用于指示通过所述历史版本的渲染引擎对所述待渲染图像进行渲染时多个图形接口的调用信息和得到的渲染效果;基于所述图像标识对应的渲染记录,确定所述第二调用信息。
12、在一些实施例中,所述第一确定单元,包括:
13、第一确定子单元,被配置为在所述信息对比结果指示所述第一调用信息和所述第二调用信息不一致的情况下,确定所述测试结果为第一测试结果,所述第一测试结果用于指示所述当前版本的渲染引擎对所述待渲染图像进行渲染得到的渲染效果存在异常;
14、第二确定子单元,被配置为在所述信息对比结果指示所述第一调用信息和所述第二调用信息一致的情况下,确定所述测试结果为第二测试结果,所述第二测试结果用于指示所述当前版本的渲染引擎对所述待渲染图像进行渲染得到的渲染效果不存在异常。
15、在一些实施例中,在所述测试结果指示所述当前版本的渲染引擎对所述待渲染图像进行渲染得到的渲染效果存在异常的情况下,所述装置还包括:
16、处理单元,被配置为基于所述第一调用信息和所述第二调用信息,对多个第一图形接口和多个第二图形接口进行一一对应,所述第一图形接口为通过所述当前版本的渲染引擎对所述待渲染图像进行渲染时调用的图形接口,所述第二图形接口为通过所述历史版本的渲染引擎对所述待渲染图像进行渲染时调用的图形接口,所述第一图形接口的调用顺序和所述第一图形接口对应的第二图形接口的调用顺序相同;
17、第二确定单元,被配置为从所述多个第一图形接口确定至少一个异常图形接口,所述异常图形接口为不存在对应的第二图形接口的第一图形接口,或为调用信息与对应的第二图形接口的调用信息不一致的第一图形接口;
18、分析单元,被配置为对于任一异常图形接口,在所述异常图形接口的调用过程中进行符号断点,以获取调用所述异常图形接口时的堆栈信息;对所述堆栈信息进行分析,确定所述当前版本的渲染引擎对所述待渲染图像进行渲染时出现的异常问题。
19、在一些实施例中,所述第二确定单元,被配置为对于所述多个第一图形接口中的任一第一图形接口,在所述多个第二图形接口中存在与所述第一图形接口对应的第二图形接口的情况下,确定所述第二图形接口与所述第一图形接口是否为同一图形接口;在所述第二图形接口与所述第一图形接口不是同一图形接口的情况下,确定所述第一图形接口为异常图形接口;在所述第二图形接口与所述第一图形接口是同一图形接口的情况下,确定所述第一图形接口的调用信息和所述第二图形接口的调用信息是否一致;在所述第一图形接口的调用信息和所述第二图形接口的调用信息不一致的情况下,确定所述第一图形接口为异常图形接口。
20、在一些实施例中,所述第二确定单元,还被配置为在所述多个第二图形接口中不存在与所述第一图形接口对应的第二图形接口的情况下,确定所述第一图形接口为异常图形接口。
21、在一些实施例中,所述装置还包括:
22、执行单元,被配置为在解决所述异常问题的情况下,重新从所述获取第一调用信息和第二调用信息的步骤开始执行,直至所述测试结果指示所述当前版本的渲染引擎对所述待渲染图像进行渲染得到的渲染效果不存在异常。
23、根据本公开实施例的另一方面,提供了一种电子设备,该电子设备包括:
24、一个或多个处理器;
25、用于存储该处理器可执行程序代码的存储器;
26、其中,该处理器被配置为执行该程序代码,以实现上述渲染效果的测试方法。
27、根据本公开实施例的另一方面,提供了一种计算机可读存储介质,当该计算机可读存储介质中的程序代码由电子设备的处理器执行时,使得电子设备能够执行上述渲染效果的测试方法。
28、根据本公开实施例的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述渲染效果的测试方法。
29、本公开实施例提供了一种渲染效果的测试方法,在使用当前版本的渲染引擎对待渲染图像进行渲染的过程中,通过获取第一调用信息和第二调用信息,能够通过对比当前版本的渲染引擎在渲染时的图形接口调用情况和历史版本的渲染引擎在渲染时的图形接口调用情况,来测试当前版本的渲染引擎渲染得到的渲染效果是否存在异常,无需通过逐像素对比渲染效果的方式来测试当前版本的渲染引擎的渲染效果,从而能够减少测试渲染效果的工作量,提高渲染效果的测试效率。
30、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
技术研发人员:陈威彪
技术所有人:北京达佳互联信息技术有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
