用户交互界面的渲染处理方法及处理装置的制造方法
【技术领域】
[0001]本发明涉及用户交互界面的渲染处理技术,尤其涉及一种用户交互界面的渲染处理方法及处理装置。
【背景技术】
[0002]对于一个软件产品,用户界面(User Interface,简称UI)设计的好坏与否直接影响着用户体验。UI制作的越炫丽,交互越符合用户习惯,则软件受众群体越大。可以说,UI在很大程度上决定着用户是否喜欢这个产品,是否愿意持续使用下去。
[0003]随着用户对UI的要求越来越高,与此相矛盾的是,UI性能可能会下降。无论是动画技术,还是半透明效果,都需要大量计算,这些都会导致中央处理器(CentralProcessing Unit,简称CPU)在短时间内负荷巨大,出现UI卡、慢等情况。
[0004]现有的优化UI性能的通用技术,一般多采用多线程编程技术或使用DirectX技术。
[0005]多线程编程技术虽然可以开启多个线程,分担运算,在一般情况下,可以有效解决UI性能问题,但是,当存在大量透明效果计算,或者绘制量级很大时,也需要考虑多线程问题,增加了程序复杂度,而且也带来了线程切换的消耗。
[0006]使用DirectX技术,可以让图形处理器(Graphic Processing Unit,简称GPU)分担CPU的负荷,一定程度上可以解决UI卡、慢等问题,但是DirectX技术需要操作系统和硬件支持,在某些机器上,DirectX技术不被支持。
【发明内容】
[0007]有鉴于此,本发明提供一种处理速度快、且适用范围更广的用户交互界面的渲染处理方法及处理装置。
[0008]一种用户交互界面的渲染处理方法,包括:将需要渲染的用户交互界面数据以浮点数的类型装载在多个数组中,每个数组存放至少两个浮点数;将多个数组中的浮点数加载到SSE寄存器中;在一个CPU时钟周期内,对需要进行算术逻辑运算的数组中的所述至少两个浮点数同时进行算术逻辑运算;将计算结果从SSE寄存器中取出并放入内存中;以及调用绘图接口,根据内存中的计算结果绘制用户交互界面。
[0009]一种用户交互界面的渲染处理装置,包括:数据类型转换模块,用于将需要渲染的用户交互界面数据转换为浮点数;第一处理模块,用于将转换为浮点数装载在多个数组中,每个数组存放至少两个浮点数;第二处理模块,用于将多个数组中的浮点数加载到SSE寄存器中;第三处理模块,用于在一个CPU时钟周期内,对需要进行算术逻辑运算的数组中的所述至少两个浮点数同时进行算术逻辑运算;结果获取模块,用于将计算结果从SSE寄存器中取出并放入内存中;以及界面绘制模块,用于调用绘图接口,根据内存中的计算结果绘制用户交互界面。
[0010]本发明实施例提出的用户交互界面的渲染处理方法及装置,基于SSE指令集,由于SSE指令函数可以对需要进行算术逻辑运算的数组中的浮点数同时进行算术逻辑运算,也就是可以进行批量运算,因此,本发明可以有效的提高计算速度,从而大大加快用户交互界面的渲染速度。另外,由于大部分机器都支持SSE指令集,因此,适用范围更广。
[0011]为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
【附图说明】
[0012]图1是一种可应用于本发明实施例的用户终端的结构框图。
[0013]图2为本发明第一实施例提供的用户交互界面的渲染处理方法的流程图。
[0014]图3为本发明第二实施例提供的用户交互界面的渲染处理方法的流程图。
[0015]图4为本发明第三实施例提供的用户交互界面的渲染处理装置的结构示意图。
[0016]图5为本发明第四实施例提供的用户交互界面的渲染处理装置的结构示意图。
【具体实施方式】
[0017]本发明实施例所提供的用户交互界面的渲染处理用户交互界面的渲染处理可应用于终端设备中实现对交互界面数据的处理,终端设备可以包括智能手机、平板电脑、电子书阅读器、MP3 播放器(Moving Picture Experts Group Aud1 Layer III,动态影像专家压缩标准音频层面 3)、MP4 (Moving Picture Experts Group Aud1 Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机、台式计算机、车载电脑等等。
[0018]图1示出了一种可应用于本发明实施例中的终端设备的结构框图。如图1所示,终端设备100包括存储器102、存储控制器104,一个或多个(图中仅示出一个)处理器106、外设接口 108、射频模块110、定位模块112、图像采集模块114、音频模块116、触控屏幕118以及按键模块120。这些组件通过一条或多条通讯总线/信号线122相互通讯。
[0019]可以理解,图1所示的结构仅为示意,终端设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
[0020]存储器102可用于存储软件程序以及模块,如本发明实施例中的用户交互界面的渲染处理方法及装置对应的程序指令/模块,处理器106通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本发明实施例提供的用户交互界面的渲染处理方法。
[0021]存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理器106远程设置的存储器,这些远程存储器可以通过网络连接至终端设备100。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
[0022]外设接口 108将各种输入/输入装置耦合至CPU以及存储器102。处理器106运行存储器102内的各种软件、指令以执行终端设备100的各种功能以及进行数据处理。
[0023]在一些实施例中,外设接口 108,处理器106以及存储控制器104可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
[0024]射频模块110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。
[0025]定位模块112用于获取终端设备100的当前位置。定位模块112的实例包括但不限于全球卫星定位系统(GPS)、基于无线局域网或者移动通信网的定位技术。
[0026]图像采集模块114用于拍摄照片或者视频。拍摄的照片或者视频可以存储至存储器102内,并可通过射频模块110发送。
[0027]音频模块116向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
[0028]触控屏幕118在终端设备100与用户之间同时提供一个输出及输入界面。具体地,触控屏幕118向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。触控屏幕118还接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。触控屏幕118显示单元的具体实例包括但并不限于液晶显示器或发光聚合物显示器。
[0029]按键模块120同样提供用户向终端设备100进行输入的接口,用户可以通过按下不同的按键以使终端设备100执行不同的功能。
[0030]本发明实施例所提供的交互界面渲染处理方法是一种基于SSE的交互界面渲染处理方法,优选的,基于SSE2指令集。
[0031]SSE2是Streaming SIMD Extens1ns 2的简称,也就是SIMD流技术扩展2或数据流单指令多数据扩展指令集2。SSE2指令集是Intel公司在SSE指令集的基础上发展起来的。SIMD (Single Instruct1n Multiple Data,单指令多数据)技术,是一种使用单指令处理多个数据流的CPU执行模式,即,在一个CPU执行周期内,一个指令可以完成处理多个数据操作。
[0032]相比于SSE,SSE2使用了 144个新增指令,扩展了 MMX技术和SSE技术,这些指令提高了广大应用程序的运行性能。随MMX (Multi Media extens1ns,多媒体扩展指令集)技术引进的SIMD整数指令从64位扩展到了 128位,使SIMD整数类型操作的有效执行率成倍提高。双倍精度浮点SIMD指令允许以SIMD格式同时执行两个浮点操作,提供双倍精度操作支持有助于加速各种应用。由于SSE2技术能够大幅提升性能,因此,目前主流的机器,都支持SSE2,所以本文主要阐述使用SSE2进行UI优化的方法。
[0033]无论MMX、SSE,还是SSE2,其