本发明涉及电子产品检测领域,具体而言,涉及一种性能检测方法及装置。
背景技术:
随着科学技术的发展,虚拟现实(virtualreality,vr)技术广泛地应用在各个领域中,比如医疗、娱乐游戏等。一般地,虚拟现实是将智能终端(比如,手机)作为三维动态视景的模拟环境,对智能终端的硬件性能有一定要求。现有技术中,智能终端在使用虚拟现实时,通过具体地使用,才能判断该智能终端是否支持虚拟现实,以及判断智能终端对虚拟现实呈现效果的好与差,并不能让用户对支持虚拟现实的性能有一个具体的了解。因此,如何提供一种可检测智能终端对虚拟现实的支持性能的检测方法及装置,已成为本领域技术人员亟需解决的问题。
技术实现要素:
为了克服上述现有技术中的不足,本发明提供一种性能检测方法及装置,以解决上述问题。
为了实现上述目的,本发明较佳实施例所提供的技术方案如下所示:
本发明较佳实施例提供一种性能检测方法,用于检测智能终端对虚拟现实的支持性能,该方法包括:
侦查到应用开启指令时,加载预先设置的虚拟现实测试环境;
在所述虚拟现实测试环境中检测所述智能终端的硬件性能参数;
对所述硬件性能参数进行解析,得到该智能终端对虚拟现实的支持性能的检测分数;
其中,所述硬件性能参数包括中央处理器的运算速度、图形处理器的运算速度、屏幕刷新频率、传感器精度中的至少一种。
在本发明的较佳实施例中,上述中央处理器的运算速度包括单线程整数运算速度、单线程浮点数运算速度、多线程整数运算速度、多线程浮点数运算速度;
图形处理器的运算速度包括画面的帧传输速率;
所述传感器精度包括陀螺仪传感器在第一预设时长采集或传输的数据量、加速度传感器在第二预设时长采集或传输的数据量。
在本发明的较佳实施例中,上述在所述虚拟现实测试环境中检测所述智能终端的硬件性能参数的步骤,包括:
采用单线程整数运算、单线程浮点数运算、多线程整数运算、多线程浮点数运算分别执行一预设的逻辑运算;
分别解析所述单线程整数运算、单线程浮点数运算、多线程整数运算、多线程浮点数运算从开始执行所述逻辑运算至完成该逻辑运算的时长,根据解析的结果以及第一预设权重计算得到所述中央处理器的运算速度。
在本发明的较佳实施例中,上述在所述虚拟现实测试环境中检测所述智能终端的硬件性能参数的步骤,还包括:
执行一个预设的虚拟现实测试场景,并在至少一个预设的测试点采集画面的帧传输速率的测试值;
针对每个所述测试点采集至少一个所述测试值,并计算该测试点的所述至少一个测试值的平均值,以作为该测试点的最终测试值;
计算所有所述测试点的最终测试值之和,得到所述图形处理器的运算速度。
在本发明的较佳实施例中,上述对所述硬件性能参数进行解析,得到该智能终端对虚拟现实的支持性能的检测分数的步骤,包括:
将检测到的各个所述硬件性能参数与对应的预设运算模型进行匹配,得出每个硬件对应的性能分数;
根据得到的各个硬件的性能分数以及第二预设权重进行运算,得到所述智能终端对虚拟现实的支持性能的检测分数。
在本发明的较佳实施例中,上述第二预设权重包括所述中央处理器的运算速度的权重为20%、所述图形处理器的运算速度的权重为45%、所述屏幕刷新频率的权重为10%、以及所述传感器精度的权重为25%。
本发明的较佳实施例还提供一种性能检测装置,用于检测智能终端对虚拟现实的支持性能,所述性能检测装置包括:
加载模块,用于在侦查到应用开启指令时,加载预先设置的虚拟现实测试环境;
检测模块,用于在所述虚拟现实测试环境中检测所述智能终端的硬件性能参数;
解析模块,用于对所述硬件性能参数进行解析,得到该智能终端对虚拟现实的支持性能的检测分数;
其中,所述硬件性能参数包括中央处理器的运算速度、图形处理器的运算速度、屏幕刷新频率、传感器精度中的至少一种。
在本发明的较佳实施例中,上述检测模块包括:
第一执行子模块,用于采用单线程整数运算、单线程浮点数运算、多线程整数运算、多线程浮点数运算分别执行一预设的逻辑运算;
解析子模块,用于分别解析所述单线程整数运算、单线程浮点数运算、多线程整数运算、多线程浮点数运算从开始执行所述逻辑运算至完成该逻辑运算的时长,根据解析的结果以及第一预设权重计算得到所述中央处理器的运算速度。
在本发明的较佳实施例中,上述检测模块包括:
第二执行子模块,用于执行一个预设的虚拟现实测试场景,并在至少一个预设的测试点采集画面的帧传输速率的测试值;
采集子模块,用于针对每个所述测试点采集至少一个所述测试值,并计算该测试点的所述至少一个测试值的平均值,以作为该测试点的最终测试值;
第一计算子模块,用于计算所有所述测试点的最终测试值之和,得到所述图形处理器的运算速度。
在本发明的较佳实施例中,上述解析模块还包括:
匹配子模块,用于将检测到的各个所述硬件性能参数与对应的预设运算模型进行匹配,得出每个硬件对应的性能分数;
第二计算子模块,用于根据得到的各个硬件的性能分数以及第二预设权重进行运算,得到所述智能终端对虚拟现实的支持性能的检测分数。
本发明提供的性能检测方法及装置,用于检测智能终端对虚拟现实的支持性能。所述性能检测方法通过在侦查到应用开启指令时,加载预先设置的虚拟现实测试环境;在所述虚拟现实测试环境中检测所述智能终端的硬件性能参数;对所述硬件性能参数进行解析,从而使用户得到该智能终端对虚拟现实的支持性能的检测分数。与现有技术相比,本发明提供的性能检测方法及装置中,智能终端在运行vr之前,用户可根据检测分数而判断智能终端是否支持vr,另外,用户可根据检测分数而选择合适的智能终端运行vr。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳实施例提供的智能终端的示意性结构框图。
图2为本发明较佳实施例提供的一种性能检测方法的流程图。
图3为图2中步骤s220的子步骤的流程图。
图4为图2中步骤s220的另一子步骤的流程图。
图5为图2中步骤s230的子步骤的流程图。
图6为本发明较佳实施例提供的一种性能检测装置的功能模块框图。
图7为本发明较佳实施例提供的性能检测装置中的检测模块的功能框图。
图8为本发明较佳实施例提供的性能检测装置中的解析模块的功能框图。
图标:10-智能终端;11-存储器;12-存储控制器;13-处理器;14-外设接口;15-射频模块;16-音频模块;17-显示模块;18-传感器模块;100-性能检测装置;110-加载模块;120-检测模块;121-第一执行子模块;122-解析子模块;123-第二执行子模块;124-采集子模块;125-第一计算子模块;130-解析模块;131-匹配子模块;132-第二计算子模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,是本发明较佳实施例提供的智能终端10的示意性结构框图。如图1所示,所述智能终端10包括性能检测装置100、存储器11、存储控制器12、处理器13、外设接口14、射频模块15、音频模块16、显示模块17以及传感器模块18。这些组件通过一条或多条通信总线/信号线相互通信。
存储器11可以用于存储软件程序以及模块,如本发明实施例中的性能检测装置100中对应的程序指令/模块,处理器13通过运行存储在存储器11内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本发明实施例提供的性能检测方法。
所述存储器11可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。处理器13以及其他可能的组件对存储器11的访问可在存储控制器12的控制下进行。
所述处理器13可以是一种集成电路芯片,具有信号的处理能力。上述处理器13可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、图形处理器(graphicsprocessingunit,gpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
外设接口14连接处理器13以及存储器11。在一些实施例中,外设接口14、处理器13以及存储控制器12可以在单个芯片中实现。在其他一些实例中,它们可以分别由独立的芯片实现。
射频模块15用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通信网络或者其他设备进行通信。
音频模块16向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
显示模块17在智能终端10与用户之间提供一个显示界面。具体地,显示模块17向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频及其任意组合。
传感器模块18用于探测、感受外界的信号、物理条件或化学组成,并将探知的信息传递给其他模块。具体地,所述传感器模块18可包括陀螺仪传感器、加速度传感器、温度传感器等,可将相应的传感数据传输给处理器13,以供处理器13处理。
于本发明实施例中,所述智能终端10可以为安装有android系统、ios系统或windows系列系统的智能终端10。智能终端10可以是平板电脑、智能手机等。所述智能终端10可与其他设备进行交互,比如,和vr设备等进行交互。优选地,所述智能终端10为手机。
可以理解,图1所示的结构仅为示意,智能终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参照图2,是本发明较佳实施例提供的一种性能检测方法的流程图。所述性能检测方法用于检测智能终端10对虚拟现实的支持性能。下面对图2中所示的性能检测方法的具体流程和步骤进行详细阐述。
步骤s210,侦查到应用开启指令时,加载预先设置的虚拟现实测试环境。
用户在需要开启某应用时,可以通过点击系统桌面上的应用图标或者触发相应的按钮生成应用开启指令。当智能终端10(例如手机)侦查到该应用开启指令时,可以通过性能检测装置100加载预先设置的虚拟现实测试环境。
可理解地,所述虚拟现实测试环境为性能检测装置100中的一个可对智能终端10的硬件性能参数进行检测和运算的一个整体模块。
步骤s220,在所述虚拟现实测试环境中检测智能终端10的硬件性能参数;所述硬件性能参数包括中央处理器的运算速度、图形处理器的运算速度、屏幕刷新频率、传感器精度中的至少一种。
优选地,所检测的硬件性能参数包括中央处理器的运算速度、图形处理器的运算速度、屏幕刷新频率以及传感器精度。可选地,所述硬件性能参数还可以包括屏幕分辨率、cpu温度、gpu温度中的一个或多个。
具体地,所述中央处理器的运算速度包括单线程整数运算速度、单线程浮点数运算速度、多线程整数运算速度、多线程浮点数运算速度。图形处理器的运算速度包括画面的帧传输速率,可理解地,帧传输速率为每秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次,通常以帧率(framespersecond,fps)表示。所述传感器精度包括陀螺仪传感器在第一预设时长采集或传输的数据量、加速度传感器在第二预设时长采集或传输的数据量。所述第一预设时长与第二预设时长可以相同,也可以不同,这里不做具体限定。
请参照图3,在本实施例中,所述步骤s220还可以包括子步骤s221以及子步骤s222。
子步骤s221,采用单线程整数运算、单线程浮点数运算、多线程整数运算、多线程浮点数运算分别执行一预设的逻辑运算。
子步骤s222,分别解析所述单线程整数运算、单线程浮点数运算、多线程整数运算、多线程浮点数运算从开始执行所述逻辑运算至完成该逻辑运算的时长,根据解析的结果以及第一预设权重计算得到中央处理器的运算速度。
具体地,cpu运算速度本身是浮动的,即为cpu频率,可理解为在单个周期内的二进制计算总量。所述逻辑运算可以理解为大量的二进制计算组成的一个整体。通过单线程、多线程、对于整数和浮点数计算进行测试,对测试的结果进行定量,通过计算cpu完成定量逻辑运算的时长来测试出cpu自身的效率。例如可根据运算完成的时间长短判断cpu性能的优劣,时间越短,其性能越好,即运算速度越快。优选地,单线程整数运算、单线程浮点数运算、多线程整数运算、多线程浮点数运算执行的逻辑运算为同一个逻辑运算。
所述第一预设权重可根据具体情况而设计。比如,第一预设权重由大权重和小权重构成。大权重可以为cpu性能在整体测试中对于实际体验表现,即为cpu对于vr画面运行的影响力,可以根据vr测试项目中cpu运行占比的多次测试结果而得到。小权重可以由单核心处理器以及多核心处理器在运行同等画面时产生的效果差计算而得到。
一般地,上述四项运算在cpu测试中的权重占比本身不是一个固定值。具体的权重占比可以通过测试多款(比如超过20款)cpu后而得到。另外,上述四项运算各自的占比还可以通过cpu多核心(即单芯片多处理器)调用的几率或占比进行分配计算得到。所述第一预设权重的具体占比这里不做具体限定。
请参照图4,在本实施例中,所述步骤s220还可以包括子步骤s223、子步骤s224、子步骤s225。
子步骤s223,执行一个预设的虚拟现实测试场景,并在至少一个预设的测试点采集画面的帧传输速率的测试值。
具体地,所述预设的虚拟现实测试场景可以为一个vr游戏场景的小片段。通过在一个或多个预设的测试点采集画面的fps值,可以根据fps值的大小判断gpu性能,fps值越大gpu性能越好,gpu的运算速度越快。优选地,所述预设的测试点为在vr游戏场景中含有较多特效的时段对应的画面,该时段可以为一固定时长的预设时段,也可以为随机时长的预设时段。
子步骤s224,针对每个所述测试点采集至少一个所述测试值,并计算该测试点的所述至少一个测试值的平均值,以作为该测试点的最终测试值。
作为一种实施方式,在每个所述测试点所对应的时段内采集一个或多个fps值,然后计算出该测试点所有fps值的平均值,并将该平均值作为该测试点的最终测试值。另外,不同的测试点所采集的fps值个数可以相同,也可以不同,这里不做具体限定。
可选地,所述测试点为3个。设置的3个测试点可以减少不确定因素导致单个测试点波动过大的问题,进而提高测试结果的精准度。
子步骤s225,计算所有所述测试点的最终测试值之和,得到所述图形处理器的运算速度。
一般情况下,各个测试点内的画面内容不一致。可以通过对每个点的fps值赋予对应的分数,然后将各个测试点的分数相加,得到gpu的分数。其中,根据fps值而得到分数的依据可以为人眼时间感受,也就是对画面感觉是流畅还是卡顿的程度作为赋予分数的依据。
步骤s230,对所述硬件性能参数进行解析,得到该智能终端10对虚拟现实的支持性能的检测分数。
具体地,请参照图5,是图2中步骤s230的子步骤的流程图。所述步骤s230还可以包括子步骤s231和子步骤s232。
子步骤s231,将检测到的各个硬件性能参数与对应的预设运算模型进行匹配,得出每个硬件对应的性能分数。
具体地,比如以解析pfs值而得到gpu的检查分数为例,进行举例说明。基于既定公众认知的视觉残留,以60fps为满帧点,30fps为低点,形成三个不同区间的fps值,即fps低于30、fps值大于等于30且小于等于60、fps值大于60这三个区间。画面的fps高于60时,在超过60fps的区间内,人眼观测到的画面都是连续不间断的,并且感觉不到不同fps值之间带来的流畅感的差距。当画面的fps低于30时,人眼会有比较明显的反应,即能感觉出画面的卡顿。基于所述的三个区间,可通过一个多重抛物线形数学给分模型,赋予不同fps对应的分数。
上述三个fps值区间所对应的抛物线不同,每个区间设置有对应的抛物线以及赋值算法,进而得到每个fps值对应的分数。解析cpu的运算速度、传感器的精度以及屏幕的刷新频率而到对应的分数的过程与得到gpu分数的过程类似,这里不再赘述。
子步骤s232,根据得到的各个硬件的性能分数以及第二预设权重进行运算,得到智能终端10对虚拟现实的支持性能的检测分数。
在得到各个硬件的性能参数对应的分数的基础上,需要将该分数放大到整体影响占比中进行计算。即,各个硬件的分数根据第二预设的权重进行运算,通过整体放大得到用户可见的检测分数,该分数即为智能终端10对虚拟现实的支持性能的检测分数。
具体地,在本实施例中,通过对多款智能终端10的硬件性能参数进行测量,而得到第二预设权重的占比。所述第二预设权重可以包括所述中央处理器运算速度的分数的权重,可以为20%;所述图形处理器运算速度的分数的权重,可以为45%;所述屏幕刷新频率的分数的权重,可以为10%;以及所述传感器精度的分数的权重,可以为25%。其中,所述传感器精度对应的权重可以包括陀螺仪传感器的分数的权重,可以为16%,加速度传感器的分数的权重,可以为9%。将各个硬件的分数根据所述第二预设权重的相对应的占比相乘,最后求和,得到所述智能终端10对虚拟现实的支持性能的检测分数。当然,本实施例中的第二预设的权重占比仅作为一个优选的实施方式,而并不限制本发明的其他实施方式,在其他实施例中,其占比的具体百分比也可以不同于本实施例中所描述的权重占比。
在本实施例中,可以设置评判所述检测分数的评判等级,所述评判等级可帮助用户对智能终端10进行筛选,不同的评判等级对应不同所述检测分数,一般地,不同的检测分数对应的vr呈现效果也不同。用户可根据不同的vr呈现效果进行选择相应的智能终端10。其具体的评判等级可以为:不支持vr、vr效果差、vr效果良以及vr效果优等四个等级,当然其等级也可以是不同于本实施例所述的评判等级。
进一步地,所述评判等级可以通过测试多款智能终端10的所述检测分数,而得到不同所述检测分数范围对应的vr呈现效果,根据不同的vr呈现效果而确定相应的所述检测分数范围,进而确定所述评判等级。
请参照图6,本发明还提供一种性能检测装置100,应用于上述智能终端10。所述性能检测装置100包括加载模块110、检测模块120以及解析模块130。
所述加载模块110,用于在侦查到应用开启指令时,加载预先设置的虚拟现实测试环境。具体地,所述加载模块110用于执行图2中所示的步骤s210,具体的操作方法可参考步骤s210的详细描述。
所述检测模块120,用于在所述虚拟现实测试环境中检测所述智能终端10的硬件性能参数。所述硬件性能参数包括中央处理器的运算速度、图形处理器的运算速度、屏幕刷新频率、传感器精度中的至少一种。具体地,所述检测模块120用于执行图2中所示的步骤s220,具体的操作方法可参考步骤s220的详细描述。
所述解析模块130,用于对所述硬件性能参数进行解析,得到该智能终端10对虚拟现实的支持性能的检测分数。具体地,所述加载模块110用于执行图2中所示的步骤s220,具体的操作方法可参考步骤s230的详细描述。
请参照图7,所述检测模块120可以包括第一执行子模块121、解析子模块122,还可以包括第二执行子模块123、采集子模块124、第一计算子模块125。
所述第一执行子模块121,用于采用单线程整数运算、单线程浮点数运算、多线程整数运算、多线程浮点数运算分别执行一预设的逻辑运算。具体地,所述第一执行子模块121用于执行图3中所示的子步骤s221,具体的操作方法可以参考子步骤s221的详细描述。
所述解析子模块122,用于分别解析所述单线程整数运算、单线程浮点数运算、多线程整数运算、多线程浮点数运算从开始执行所述逻辑运算至完成该逻辑运算的时长,根据解析的结果以及第一预设权重计算得到所述中央处理器的运算速度。具体地,所述解析子模块122用于执行图3中所示的子步骤s222,具体的操作方法可以参考子步骤s222的详细描述。
所述第二执行子模块123,用于执行一个预设的虚拟现实测试场景,并在至少一个预设的测试点采集画面的帧传输速率的测试值。具体地,所述第二执行子模块123用于执行图4中所示的子步骤s223,具体的操作方法可以参考子步骤s223的详细描述。
所述采集子模块124,用于针对每个所述测试点采集至少一个所述测试值,并计算该测试点的所述至少一个测试值的平均值,以作为该测试点的最终测试值。具体地,所述采集子模块124用于执行图4中所示的子步骤s224,具体的操作方法可以参考子步骤s224的详细描述。
所述第一计算子模块125,用于计算所有所述测试点的最终测试值之和,得到所述图形处理器的运算速度。具体地,所述第一计算子模块125用于执行图4中所示的子步骤s225,具体的操作方法可以参考子步骤s225的详细描述。
请参照图8,所述解析模块130可以包括匹配子模块131以及第二计算子模块132。
所述匹配子模块131,用于将检测到的各个所述硬件性能参数与对应的预设运算模型进行匹配,得出每个硬件对应的性能分数。具体地,所述匹配子模块131用于执行图5中所示的子步骤s231,具体的操作方法可以参考子步骤s231的详细描述。
所述第二计算子模块132,用于根据得到的各个硬件的性能分数以及第二预设权重进行运算,得到所述智能终端10对虚拟现实的支持性能的检测分数。具体地,所述第二计算子模块132用于执行图5中所示的子步骤s232,具体的操作方法可以参考子步骤s232的详细描述。
综上所述,本发明提供一种性能检测方法及装置,通过在侦查到应用开启指令时,加载预先设置的虚拟现实测试环境;在所述虚拟现实测试环境中检测所述智能终端的硬件性能参数;对所述硬件性能参数进行解析,从而使用户得到该智能终端对虚拟现实的支持性能的检测分数。用户通过性能检测方法及装置,可直观地获取到智能终端对虚拟现实的支持性能的分数,另外,用户可根据检测分数而判断该智能终端是否支持vr,用户还可以可根据检测分数而选择合适的智能终端运行vr。
应当注意,在有些作为替换的实现中,方框中所标注的步骤也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依实际情况而定。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。