(计算机应用技术专业论文)g2:专为j2memidp类库设计的高速图形引擎.pdf_第1页
(计算机应用技术专业论文)g2:专为j2memidp类库设计的高速图形引擎.pdf_第2页
(计算机应用技术专业论文)g2:专为j2memidp类库设计的高速图形引擎.pdf_第3页
(计算机应用技术专业论文)g2:专为j2memidp类库设计的高速图形引擎.pdf_第4页
(计算机应用技术专业论文)g2:专为j2memidp类库设计的高速图形引擎.pdf_第5页
已阅读5页,还剩120页未读 继续免费阅读

(计算机应用技术专业论文)g2:专为j2memidp类库设计的高速图形引擎.pdf.pdf 免费下载

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

文档简介

目录 本论文的工作得到了英特尔公司( i n t e lc o r p o r a t i o n ) 基金项目“j 2 m ec l a s sl i b sw i t hs m a l l f o o t p r i n t ,l o wp o w e ra n dh i g hp e r f o r m a n c eo nx s c a l ep r o c e s s o r ”的支持,特此感谢 摘要 j 2 m e 成功的将j a v a 技术的强大性和方便性引入了诸如手机、p d a 等资源 受限的设备之上,是当前手持设备的首选平台之一。j 2 m e 的架构由“配置”、“描 述”和“可选包”组成,开发者可以对其进行选择从而构建成一个完整的j a v a 运行环境。m i d p 是j 2 m e 中第一个被提出的“描述”,同时也是最为成熟,应 用最为广泛的一个“描述”,迄今为止,其已经被数以百万计的应用到世界各个 角落。作为j 2 m e 的一个关键元素,m i d p 同c l d c 相结合,通过标准j a v a 运行 环境和一套丰富的应用程序接口,为移动应用程序提供了其所需要的核心应用功 能。 o r l ,即o p e nr u n t i m el i b s ,是一个遵循j 2 m e m i d p 的一系列规范要求完 全从头开发的j 2 m e 类库。它的开发基于一个称为x o r p 的j 2 m e 虚拟机,该虚 拟机是在原先支持j 2 s e 的开源项目o r p ( o p e nr u n t i m ep l a t f o r m ) 的基础上改 造的。而上述两项,即o r l 和x o r p ,都是i n t e l 公司基金项目“j 2 m ec l a s sl i b s 惭t hs m a l lf o o t p r i n t ,l o wp o w e ra n dh i g hp e r f o r m a n c eo nx s c a l ep r o c e s s o r ”的组 成部分。x o r p o r l 系统原先定位在c l d c 规范上,而c l d c 只提供一些命令 行控制台方式下基本功能,所以该系统本身缺乏对图形能力的支持。 在本文中,我们提出了一个称为g 2 的高速图形引擎,它是专门为 j 2 m e m i d p 类库的底层实现而设计的,例如可以使用在x o r p o r l 系统中。为 了达到性能上的要求,我们在g 2 的整个开发过程中做了大量的工作,这包括了 从设计、实现到性能优化的各个阶段。这些努力使得g 2 能够成为兼具多种特点 的高速图形引擎。 首先,是g 2 的专门性。与通用目的的图形引擎不同,g 2 是专门为j 2 m e 的虚拟机量身定做的。作为j 2 m e 虚拟机的一部分,g 2 本身也必须满足各种j 2 m e 规范对虚拟机的要求。例如,m i d p 规范中明确要求其本身的实现所占用的存储 空间必须小于2 5 6 k 字节,相应的,g 2 的可执行模块就必须足够的小,否则包 含g 2 在内的整个虚拟机的尺寸就会超出规范的限制。 其次,是g 2 的原创性。与o r l 相同,g 2 的设计与实现也是白手起家的。 在设计过程中,为了使g 2 能够更加适合在手持环境下运行,我们引入了许多不 同的特性。特别的,拢们在优化过程中使用了很多带创造性的技术和方法,例如 将在第四章中介绍的“s h a d o wf r a m e d i f f e rc o p y ”技术,这一技术的运用能够 明显提升特定显示设备上的图形绘制速度,从而使g 2 能够达到设计上的性能要 4 求。 其三,是g 2 的可移植性。尽管g 2 的最初定位是以w i n d o w sc e 作为目标 平台的,但在设计实现的过程中我们都考虑进了移植性的因素。我们在g 2 中使 用了一种分层的模型来隔离对底层显示硬件设备的依赖,并且事后的移植工作证 明这种做法非常有效。事实上,到目前为止g 2 已经被成功的移植到了包括p o c k e t p c 、s m a r t p h o n e 和嵌入式l i n u x 在内的多个平台之上。 最后,g 2 图形引擎被成功的集成到了x o r p o r l 系统中,以全面的支持 j 2 m e m i d p 运行环境。根据业界公认的图形能力评测标准j b e n c h m a r k 的数据显 示,以g 2 作为底层图形实现的x o r p o r l 系统在图形处理能力上已经达到了 世界范围内的一流水平。在高分的背后,就有g 2 的作用:一个专为j 2 m e m i d p 类库底层实现而设计的高速图形引擎。 关键字 g 2 ,j 2 m e ,m i d p ,图形引擎,手持设备,j a v a 虚拟机,w i n d o wc e ,g a p i , g d i ,s h a d o wf r a m e d i f f e rc o p y ,a s c i i 字符缓存 中图分类号 t p 3 9 3 :计算机网络,t p 3 1 1 - 1 :程序设计 a b s t r a c t a b s t r a c t j 2 m ei st h ep l a t f o r mo fc h o i c ef o rt o d a y sh a n d h e l dd e v i c e s i td e l i v e r st h e p o w e ra n db e n e f i t so fj a v at e c h n o l o g yt or e s o u r c el i m i t e dd e v i c e ss u c ha sm o b i l e p h o n e s ,p d a s ,m a ds oo n t h ej 2 m ea r c h i t e c t u r ec o m p r i s e sav a r i e t yo f c o n f i g u r a t i o n s ,p r o f i l e s ,a n do p t i o n a lp a c k a g e st h a ti m p l e m e n t e r sa n dd e v e l o p e r sc a n c h o o s ef r o m ,a n dc o m b i n et oc o n s t r u c tac o m p l e t ej a v ar u n t i m ee n v i r o n m e n t m i d p w a st h ef i r s ta n dm o s tw i d e l yu s e dj 2 m ep r o f i l e w i mm i l l i o n so fd e p l o y m e n t sa l l a r o u n dt l l ew o r l d a sak e yc o m p o n e n to fj 2 m e m i d pi sc o m b i n e dw i mc l d c i ti s t h ec o r ea p p l i c a t i o nf u n c t i o n a l i t yr e q u i r e db ym o b i l ea p p l i c a t i o n s ,i nt h ef o r mo fa s t a n d a r d i z e dj a v ar u n t i m ee n v i r o n m e n ta n dar i c hs e to f j a v aa p l s o r l ( o p e nr u n t i m el i b s ) i saj 2 m ec l a s sl i b sw h i c hf r o ms c r a t c ht om e e t st h e j 2 m e m i d ps p e c i f i c a t i o n s t h ed e v e l o p m e n to fo r l i sb a s e do nx o r p , aj 2 m ev m a d a p t e df r o ma no p e ns o u r c ej 2 s ev mc a l l e do r p ( o p e nr u n t i m ep l a t f o r m ) b o t h o r la n dx c l r pw e r ei n e l u d e di nap r o j e e tc a l l e d “j 2 m ec l a s sl i b sw i t hs m a l l f o o t p r i n t ,l o wp o w e ra n dh i g hp e r f o r m a n c eo nx s c a l ep r o c e s s o r ,w h i c hw a s f u n d e db yi n t e lc o r p x o r p o r ls y s t e mw a so r i g i n a l l y d e s i g n e d f o rc l d c s p e c i f i c a t i o n ,w h i c hp r o v i d e so n l yt h eb a s i cf u n c t i o n a l i t i e so nac o n s o l eb a s e d p l a t f o r m s t h e r e f o r e ,t h es y s t e mh a sal a c ko fg r a p h i cs u p p o r t s i nt h i sp a p e r , w ep r e s e n taf a s tg r a p h i ce n g i n ec a l l e dg 2 ,w h i c hw a sd e s i g n e df o r u s ei nt h en a t i v ei m p l e m e n t a t i o no fj 2 m e m i d pc l a s sl i b ss u c ha st h ex o r p 0 r l s y s t e m s i no r d e rt om e e tp e r f o r m a n c er e q u i r e m e n t s ,w eh a v ed o n eal o to fw o r k s d u r i n gt h ed e v e l o p m e n tp r o c e s si n c l u d i n gt h es t a g e so fd e s i g n i n g ,i m p l e m e n t i n ga n d p e r f o r m a n c et u n i n g a l lo ft h i sm a k e sg 2af a s tg r a p h i ce n g i n ew i t hm a n yu n i q u e f e a t u r e s f i r s t ,g 2i sas p e c i a l i z e dg r a p h i ce n g i n e u n l i k et h eg e n e r a lp u r p o s e dg r a p h i c e n g i n e ,g 2w a sd e s i g n e df o ru s ei nt h ej 2 m ev i r t u a lm a c h i n e a sap a r to fav m g 2 h a st om e e tt h er e q u i r e m e n t sf r o ma l lt h es p e c i f i c a t i o n sf o rj 2 m ev m f o re x a m p l e m i d ps p e c i f i c a t i o nr e q u i r e st h a tt h es t o r a g es i z eu s e df o ri t si m p l e m e n t a t i o ns h o u l d b en om o r et h a n2 5 6 k b y t e s a sar e s u l t ,t h es i z eo ft h ee x e c u t a b l em o d u l eo fg 2 s h o u l db ev e r ys m a l lo rt h ee n t i r es i z eo f t h ev mw o u l de x c e e dt h el i m i t a t i o n 6 a b s t i - a c t s e c o n d ,g 2i sag r a p h i ce n g i n ew i t ho r i g i n a l i t y j u s ta st h eo r l ,g 2w a sa l s o d e s i g n e da n di m p l e m e n t e df r o ms c r a t c h w ei n c o r p o r a t e dm a n y d i f f e r e n tf e a t u r e si n t o g 2t om a k ei tm o r es u i t a b l ef o rr u n n i n gi nh a n d h e l de n v i r o n m e n t s w ea l s oa p p l i e d m a n yc r e a t i v et e c h n o l o g i e ss u c ha s “s h a d o wf r a m e d i f f e rc o p y ”,w h i c hw i l lb e d e s c r i b e di nc h a p t e r4 ,t os i g n i f i c a n t l yi m p r o v et h ep e r f o r m a n c eo fi m a g ed r a w i n go n c e r t a i nd i s p l a yd e v i c e s f i n a l l y , g 2i sap o r t a b l eg r a p h i ce n g i n e a l t h o u g ht h eo r i g i n a lt a r g e tp l a t f o r mo f g 2w a sw i n d o w sc e ,g 2w a ss t i l ld e s i g n e dw i t ht h ec o n s i d e r a t i o no fp o r t a b i l i t y w e a d a p t e dam u l t i - l a y e r e dm o d u l ei ng 2t oi s o l a t et h ed e p e n d e n c yo nd i s p l a yh a r d w a r e , w h i c hp r o v e dt ob eaw i s em e t h o d o l o g yl a t e ri nt h ep o r t i n gs t a g e g 2h a sa l r e a d yb e e n s u c c e s s f u l l yp o r t e do nt os e v e r a lp l a t f o r m si n c l u d i n gp o c k e tp c ,s m a r t p h o n ea n d e m b e d d e dl i n u x i nt h ee n d ,g 2h a sb e e ns u c c e s s f u l l yi n t e g r a t e di n t ox o r p o r ls y s t e mt o e n a b l ef u l ls u p p o r t so nj 2 m e m i d pe n v i r o n m e n t a c c o r d i n gt ot h er e s u l tg e n e r a t e d b yj b e n c h m a r k ( ab e n c h m a r ko ng r a p h i cc a p a b i t i t yw h i c hw a sw i d e l ya c c e p t e di nt h e m o b i l ei n d u s t r y ) ,x o r p o r ls y s t e mh a sr e a c h e dt h et o pt i e ro fg r a p h i cp r o c e s s i n g w o r l dw i d e t h ea c h i e v e m e n ts h o u l dg i v ee r e d i tt og 2 :af a s tg r a p h i ce n g i n ed e s i g n e d s p e c i f i c a l l yf o rn a t i v ei m p l e m e n t a t i o no f j 2 m e m i d pc l a s sl i b s k e y w o r d g 2 ,j 2 m e ,m i d rg r a p h i ce n g i n e ,h a n d h e l dd e v i c e ,j v m ,w i n d o w sc e ,g a p i , g d i ,s h a d o wf r a m e d i f f e rc o p y , a s c i ic h a r a c t e rc a c h e c h i n e s e l i b r a r yc l a s s i f i c a t i o n t p 3 9 3 :c o m p u t e r n e t w o r k t p 3 u 1 :p r o g r a m d e s i g n i n g 7 引言 项目背景 引言 i n t e l 公司的基金项目“j 2 m ec l a s sl i b sw i t hs m a l lf o o t p r i n t ,l o wp o w e ra n d h i g hp e r f o f i n a n c eo nx s c a l ep r o c e s s o r ”,是一个以x o r p 作为j a v a 虚拟机平台, 在其上开发高性能j 2 m e 类库o r l 的项目。m i d p 是j 2 m e 类库的一个核心组成 部分,它的一项重要功能是向j 2 m e 应用程序提供丰富的图形接口。所以,o r l 作为符合j 2 m e 规范要求的类库,必须对m i d p 所需要的图形能力提供全面和高 效的支持,使得o r l 能够达到高效、低耗的设计目标。 j 2 m e 框架与m i d p 描述 j 2 m e ,即j a v a2p l a t f o r m ,m i c r oe d i t i o n ,是j a v a2 平台的三个核心版本之 ,它为运行在许多消费产品上的应用程序提供了健壮而灵活的运行环境,这些 消费产品通常包括手机、p d a 、电视机顶盒等等一系列的嵌入式设备。与其企业 版( j 2 e e ) 和桌面版( j 2 s e ) 相同,j 2 m e 包含了由j c p 组织制定的关于j a v a 虚拟机的规范和一整套j a v a 应用程序接口( a p i ) 的标准,为嵌入式设备提供了 包括用户界面、安全模型、网络协议等等功能在内的强有力的支持。到目前为止, 已经有数以百万计的嵌入式设备上拥有了对j 2 m e 的支持,这使得用j 2 m e 丌发 的应用程序能够做到“一次编译,到处运行”。 j 2 m e 的架构由“配置” ( c o n f i g u r a t i o n ) 、“描述”( p r o f i l e ) 和“可选包” ( o p t i o n a lp a c k a g e ) 组成,开发者和实现者将这些部件组合成一个完整的j a v a 运行环境,以最佳的适应某一特定设备的环境要求。“配置”由虚拟机和一套类 库最小集组成,它们能够为某一特定范围内的设备提供最基本的功能,这些设备 在网络连接和内存消耗等方面具有类似的特征( 详见【7 ) 。目前,j 2 m e 中支持 两种配置:c d c ( c o n n e c t e dd e v i c ec o n f i g u r a t i o n ) 和c l d c ( c o n n e c t e dl i m i t e d d e v i c ec o n f i g u r a t i o n ,详见【2 】) 。然而,要为一个特定设备提供一个完整的j a v a 运行环境,还必须将“配置”和“描述”相结合。一个“描述”能够提供更高级 别的应用程序接口,来定义应用程序的生命周期模型、用户界面和访问设备的特 有属性,其中,应用最广泛的“配置”与“描述”的组合就是c l d c 与m i d p ( m o b i l e i n f o r m a t i o nd e v i e ep r o f i l e ) ,它们为手机和其他类似设备提供了一个完整的运行 环境。 j 2 m e 并不旨在提供一种新的语言平台,而是为手持设备和嵌入式设备提供 可行的j a y a 解决方案。在j 2 m e 推出至今五年多的时间里,j c p 制定了大量j 2 m e 的a p i 规范,并获得了广泛的认同和接受,使得这些技术能够以定义良好的方式 进入市场,从而在各个不同的手机平台之间达到高程度的兼容性和互操作性。图 a 1 描述了为手机平台设计的j t w i ( j a v at e c t m o t o g yf o rt h ew i r e i e s si n d u s t r y ) 框架,其中规定:c l d c1 0 为最小配置,m i d p2 0 和w m a 1 1 为必须要求, m m a p i1 1 为条件要求。这里,m i d p2 0 规范被作为一个必不可少的规范要求 纳入了标准手机j 2 m e 运行环境。( 本小节主要参考【8 】,图a - 1 根据其中相关图 制作) 图a 1 :j t w i 的框架结构 m i d p ,是第一个提出的j 2 m e 描述”( p r o f i l e ) ,也是目前为止最为成熟且 应用最广的一个“描述”。它已经被应用在世界范围内从p d a 到手机等数以百万 计的移动设备之上。目前为止,m i d p 一共有两个版本,即m i d p1 0 ( 见 3 】j 和 m i d p 2 0 ( 见【4 】) 。其中,m i d p1 0 现在仍然在广泛使用,它提供了包括用户界 面、网络连接、永久存储和应用程序生命周期管理等在内的功能。而m i d p 2 0 在原有1 0 提供的a p i 的基础上,又增加了许多功能,例如对t c ps o c k e t 流、 u d p 数据报的支持等,此外还专门为游戏应用增加了相应的a p l 支持。随着m i d p 功能的日趋完善,它已经成为手机j 2 m e 程序开发中不可缺少的组成部分。 9 引言 x o r p 与o r l o r p ,即o p e nr u n t i m ep l a t f o r m ,是由i n t e l 公司开发的一个开放源码的研 究项目,它为即时编译( j i t ) 和垃圾回收( g c ) 的学术研究提供了一个开放的 研究平台,允许使用者通过模块的替换来研究动态编译和内存管理等相关技术。 o r p 项目起初同g n uc l a s s p a t h 这一丌放源码的j a v a 类库实现相整合,能够在 i a 3 2 架构的l i n u x 和w i l l d o w s2 0 0 0 平台下运行大多数的j 2 s e 应用程序,因此 可以将其视作一种j a v a 虚拟机的实现。( 详见 1 9 1 ) 2 0 0 2 年,i n t e l 公司基金项目“j 2 m ec l a s sl i b sw i t hs m a l lf o o t p r i n t ,l o w p o w e ra n dh i l g hp e r f o r m a n c eo nx s c a l ep r o c e s s o r ”启动,目的是开发一套严格遵 循s u n 公司j 2 m e 框架规范的高性能j a v a 类库o r l 。该项目以c l e a nr o o m 的原则进行,鉴于o r p 的诸多良好特性,特别是其丌放性和模块化设计,在底 层j a v a 虚拟机的选择中,项目组在原o r p 的基础上针对移动手持设备这一平台 的特殊性,做了功能模块上的替换和增减,从而获得了一个符合j 2 m e 规范标准 的虚拟机x o r p ,作为开发j 2 m e 类库的基本软件环境。 图a 五:x o r p o r l 系统对于与j 2 m e 框架的关系 o r l ,即o p e n r u n t i m el i b ,是一套完全遵循s u n 公司j 2 m e 规范的j a v a 类 库,其开发过程分为三个阶段。第一阶段是针对j 2 m e 框架中的c l d c “配置”, 开发相应的j a v a 类库;第二阶段是在c l d c 的基础上,开发符合m i d p “描述” 规范的j a v a 类库;第三阶段则是在c l d c m i d p 的基础上,进一步开发其他可 选包功能。整个x o r p o r l 系统与前文介绍的j 2 m e 框架的关系如图a 一2 所示。 引言 由于x o r p o r l 系统原先定位在c l d c 配置之上,而c l d c 本身只提供基于命 令行界面的基本核心功能,所以x o r p o r l 系统原先并不提供图形能力。而 m i d p 规范对图形能力在功能和性能上都有需求,这就对底层的图形实现提出了 相应的要求,其中,本文作者的主要工作集中在底层图形支持方面,具体对应于 图a 2 中“底层图形引擎”部分即g 2 图形引擎的设计、实现和优化,本文 的内容就是在此基础上完成的。 本文的目的和应用意义 j a v a 语言本身就是作为一种在嵌入式设备上使用的编程环境在上个世纪9 0 年代初被提出的,然而当时由于受到硬件设备条件的限制,使得这一超前的概念 并没有被真正的广泛运用。赢到j 2 m e 的推出,才令j a v a 的使用目标得到了回 归,特别是m 1 d p c l d c 等一系列配置标准的出台,使得j 2 m e 成为移动手持设 备上首选的应用程序运行环境,很多应用研究也都采用了基于j 2 m e 的平台,如 【1 8 】。包括s u n 公司在内的各大公司都推出了各自的j 2 m e 解决方案,其中包括 s u n 公司的k v m 和h o t s p o t 、i b m 公司的j 9 等,都对j 2 m e 进行了功能上的完 整支持。然而作为一个标准的类库环境, 必须在性能上得到用户的认可。特别的, 除了在功能上满足规范的要求之外,还 由于m i d p 引入了用户界面的支持,使 得图形相关的性能成为j 2 m e 解决方案中又一个重要因素,这也令诸如 j b e n c h m a r k 这样的图形评价程序称为了业界公认的j 2 m e 解决方案的性能评判 标准。目前,对于j a v a 虚拟机的研究也不少,例如 1 9 1 2 0 】,而其中也有对j 2 m e 虚拟机的研究,例如【2 1 】,然而对于j 2 m e 虚拟机图形能力的研究工作却并不多 见。 x o r p o r l 作为一个j 2 m e 解决方案,同样需要解决图形方面的相关问题, 其中有以下几点必须考虑的因素。 其一,已有的j 2 m e 解决方案,往往是商用目的,其底层的图形实现逻辑与 虚拟机实现逻辑往往紧密结合不可分割,即源码不可见,所以无法使用其作为 x o r p o r l 中的图形解决方案。此外,即使可以直接使用其图形相关模块对 x o r p o r l 中的图形功能进行实现,换言之,可以单独购买其图形相关的实现 技术,在本项目的运用中也有诸多法律上的不便。 其二,j 2 m e 的规范性,提出了其整个解决方案在功能和性能上的双重要求, 使得普通的图形引擎或者无法满足其功能上的需要,或者无法适应其性能上的需 求,例如j 2 m e 对底层虚拟机的存储期的大小和运行期的大小都有严格的限定, 引言 作为虚拟机组成部件的图形引擎也就必须受到这个限定的约束,而一个通用的图 形引擎系统往往无法满足这一点。 其三,移动手持设备的环境非常多样,并没有桌面p c 那样统一的硬件和软 件平台,例如手机上流行的操作系统就包括了s y m b i a n 、嵌入式l i n u x 和 s m a r t p h o n e 等等( 见 5 0 1 ) ,而且并没有哪一种占绝对主导地位。所以,作为j 2 m e 解决方案一部分的图形引擎,必须在不同的平台上针对不同的平台特征进行性能 优化,这通常需要对该部分拥有完全的掌握能力,换言之,一个自主开发的图形 引擎能够更好的被优化以满足性能上的要求。 综合考虑了上述几个因素,本文作者和项目组成员在经过大量细致的调研 后,决定了自行设计并实现x o r p o r l 中图形解决方案g 2 图形引擎。g 2 作为一个专门为j 2 m e 类库m i d p 规范中图形相关功能设计的底层图形引擎,其 设计目标是:第一,在功能上完全满足上层j a v a 类库的需求,使得o r l 能够符 合m i d p 规范:第二,在性能上满足m i d p 规范对时间和空间的双重要求;第三, 能够与虚拟机简单的集成并在多平台上快速的移植。同时,g 2 作为一个完全自 主开发的图形引擎,在针对特定平台的性能优化上也将作出有益的尝试,以期能 保证o r l 高速、低耗这一设计目标的实现。 本文作者作为项目组成员,主要负责g 2 图形引擎从设计、实现到性能优化 的全部工作,并且参与了部分移植工作。值得一提的是,作者不仅希望g 2 这一 图形引擎能够被应用到更大的相关范围之内,更加重要的是,希望在本文中所提 及的在g 2 开发过程中所应用的设计理念以及在g 2 优化过程中所使用的优化技 术能够被迸一步的运用到类似的项目开发中,为类似的应用带来收益。 本文的内容和组织结构 本文首先介绍了j 2 m e 的发展现状,同时概括的介绍了一些手持设备上图形 处理与显示有关的背景技术,通过对m i d p 类库图形上的需求分析,以及市场上 已有的相关技术的综合比较,阐述了开发g 2 这样一个专为j 2 m e 打造的手持设 备图形引擎的必要性、可行性和应用前景。 其次,本文阐明了g 2 图形引擎设计中面向对象思想的运用。g 2 具有良好 的体系架构,它在图形绘制上进行了三层抽象:在上层,g 2 向最终用户( 本文 中即支持陀m e 删i d p 的j a v a 虚拟机) 提供了类似于w i n c eg d i 的接口,方便 熟悉w i n c e 图形编程的应用程序员对g 2 的使用;在中层,g 2 实现了各种图形 绘制的高效算法,向上层提供了线条图形、填充图形以及文本的各种绘制操作; 引言 在下层,( 3 9 - 使用类似f r a m e b u f f e r 接口进行图像设备的元操作,提供对手持设 备上图像硬件的高速访问,以此来保证最终图形引擎系统能够获得较高的整体性 能。这种层次化设计隔离了实现细节,降低了高层图形模块对底层图形硬件设备 的依赖性,增加了g 2 本身的可移植性。 接着,本文详细介绍了g 2 中各个功能模块的设计理念。由于手持设备在资 源上的局限性,使得j a v a 应用程序的性能,尤其是在图形处理能力上的时间,空 间开销的大小成为其能否被更广泛应用于游戏软件开发的关键因素。因此,g 2 作为为j 2 m e m i d p 类库定制的底层图形引擎,必须满足功能和性能上的双重要 求。g 2 拥有基本图元、图形绘制和图形环境管理等基本模块,从而构成了一个 功能上相对独立和完整的图形引擎。同时,作为m i d p 类库图形功能的底层支持, g 2 可以被配置成仅仅包含完成m t d p 类库所需图形处理工作的功能最小集,从 而最大限度的降低g 2 本身作为j a v a 虚拟机的一部分被引入后的虚拟机的空问使 用。 然后本文具体说明了对g 2 的性能优化工作。对g 2 性能上的调试,是建立 在客观的数据和科学的方法之上的。作者对g 2 作为独立图形引擎使用和作为 j 2 m 影m i d p 底层支持使用两种情况分别做了详细的性能测试和数据记录。在前 一种情况下,使用作者自行实现的测试用例;而在后一种情况下,则甄选了一些 业界公认的m i d p 图形功能测试标准用例进行测试,例如a m a r k 和j b e n c h m a r k , 同时也运行了一些游戏实例来观察用户感受。数据表明,无论在空间使用情况还 是时间消耗上,g 2 图形引擎都具有相当大的优势。 本文的重点,在于第四章对于性能优化工作中起决定性作用的几项关键技术 阐述。在性能上,作者在g 2 的图形处理中创造性的使用了2 项自创的技术: s h a d o wf r a m e d i f f e rc o p y 技术和a s c i i 文本缓存技术。前者被证明在提供了 g a p i 接口的w i n c e 系列平台上,如运行在p d a 上的p o c k e tp c 和手机上的 s m a r t p h o n e ,均能够显著提升屏幕绘图速度;后者则是一项针对m i d p 规范设置 而采用的策略,能够大大加快a s c i i 文本字符的绘制速度。并且,作者还对已有 的借用w i n c eg d i 在g a p i 应用程序中进行文本绘制的方法作了进一步的改进, 提出了一整套将g d i 和g a p i 结合使用的解决方案,从而获得了更佳的空间时间 的使用率,g 2 图形引擎也是由此而命名的。此外,还有一些针对使用目的的处 理技巧,也对0 2 整体的性能提升起到了一定的作用。 最后。本文总结g 2 各个方面的特点并对其进一步扩充和应用作了展望。 全文结构如下:第一章,引述g 2 的产生背景。第二章,介绍移动手持平台 引言 下各种软件和硬件环境对图形引擎开发的影响。第三章,从架构设计和功能模块 定义两方面,以设计者的角度为主阐述g 2 的设计理念,同时兼顾从使用者角度 对g 2 作功能描述。第四章,以具体数据为导向,说明g 2 性能优化工作的过程 和最终性能优化的结果。第五章,重点介绍在g 2 性能优化中起决定性作用的各 项关键技术。第六章,总结与展望。 第一章手持设备的图形支持 第一章手持设备的图形支持 手持设备,通常指p d a 、手机之类的小型移动电子消费设备。与p c 等桌面 设备不同,手持设备无论在硬件环境还是软件环境上都存在着相当大的差异,不 同的生产厂商往往使用自己特有的标准进行手持设备的构建,因此,在手持设备 上进行软件开发,特别是图形相关的软件开发,需要针对某一特定平台的相关经 验和技术,本章就对这些相关的背景技术作大致的介绍。 1 1 手持设备的图形硬件环境 1 1 1l c d 技术 液晶显示原理,最早在1 9 6 3 年由一位在新泽西美国无线电公司工作的科学 家发现,到1 9 6 8 年,该公司成功的制造了液晶显示器。之后,夏普公司对该项 技术的应用作了进一步推广,在1 9 7 3 年生产了世界上第一台具有液晶显示屏特 征的电子计算器e l 8 0 2 5 。随后,包括日立、n e c 、松下、索尼等在内的各大 公司都对l c d 显示技术作了更加深入的探索。现如今,l c d ( l i q u i dc r y s t a l d i s p l a y ) ,即液晶显示,与传统的c r t ( c a t h o d e r a yt u b e ) ,即阴极射线管相比, 它具有显示屏厚度薄、重量轻、低功耗等后者不具备的优点,因此被广泛应用在 手持移动设备之上。 目前的彩色l c d 显示技术主要分为有源( a c t i v e ) 和无源( p a s s i v e ) 两种。 有源的l c d 是指目前应用非常普遍的薄膜晶体管l c d ( t f tl c d ) 。t f tl c d 更新屏幕的速率较快,在屏幕上每个象素分别是由独立的晶体管控制的,相反, 无源的l c d 则是通过横向和纵向的网格线来控制显示,因此有源l c d 同无源 l c d 的显示效果相比,更加清晰分明,视角也更宽广。然而,由于对每个象素 进行独立的晶体管控制,增加了晶体管的成本,因此有源l c d 的造价远高于无 源l c d 。 无源l c d 中主要采用的技术为d s t n 和c s t n 。d s t n ( d o u b l e 1 a y e r s u p e r - t w i s t e dn e m a t i c ,即双层s t n ) ,使用两个显示层,这种显示技术解决了传 统s t n 显示器中的漂移问题。不过,d s t n 显示的分明效果还是不及t f t 的。 p h i l i p s 在其彩显n i n o 产品中使用了d s t nl c d 。c s t n ( c o l o rs u p e r - t w i s t n e m a t i c :彩色s t n ) ,是由s h a r p 开发的无源显示技术,被应用在h e w l e t tp a c k a r d 的j o m a d ap a l m - s i z ep c 中。尽管最初的c s t n 技术在九十年代早期发展缓滞不 第一章手持设备的图形支持 前,但是近期该技术的发展使其的显示效果可以与有源显示相比。最近出品的 c s t nl c d 有出色的响应速度、宽视角、高画质,可与t f tl c d 相比。而造价 只有t f t 的一半。通常,有源显示占据了l c d 市场7 5 的份额,最近,又瞄准 了剩下的1 4 。然而,随着无源显示技术的发展,新的技术优势以及其低廉的价 格,其市场份额可能会发生戏剧化的转变。( 本节内容主要参考 3 8 3 9 ) 1 1 2 手机和p d a 显示屏 手机和p d a 都使用l c d 显示屏作为其基本的显示设备,对一个手机而占, 通常显示屏的成本占到其总成本的1 5 2 5 ,因此,根据功能定位的不同,不 同的手持设备产品会选用不同性能的l c d 技术作为其显示屏,以适合其成本需 求和市场定位。目前,可以将手机按照功能和使用目的区分为三个范畴,一类是 语音手机,以语音通话为最主要用途。第二类是娱乐手机,以多媒体娱乐为重要 用途。第三类是商务手机,以移动商务为主要用途,商务手机包括智能手机,智 能手机是商务手机的主流,但不是全部。p d a 按照其功能和使用定位,可以认 为兼有娱乐手机和商务手机的特点。 语音手机娱乐手机( 复合型)商务用( 类p d a ) 显示屏类型 单色彩色 t f t l c d t f t - l c d 、t f d s t n l c d 分辨率9 6 * 6 4 1 0 1 8 0 1 2 8 1 6 0 1 7 6 * 2 2 0 1 7 6 2 2 0 1 7 6 2 4 0 1 2 8 1 2 8 1 2 8 * 9 61 7 6 * 2 4 0 2 4 0 * 3 2 02 4 0 * 3 2 0 1 2 8 1 4 4 1 2 8 * 1 6 0 尺寸( 英寸) 1 4 一1 91 9 - 2 。41 。9 - 3 0 颜色盥4 0 9 6 6 5 5 3 66 5 5 3 6 2 6 2 1 4 46 5 5 3 6 2 6 2 1 4 4 响应速度( 微 3 8 0 0 0 03 04 0 秒) 视角( 度) 8 01 2 01 0 0 1 6 第一章手持设备的图形支持 语音手机娱乐手机( 复合型)商务用( 类p d a ) 亮度( c d 砰) 2 21 0 01 0 0 对比度 2 0 :11 5 0 :11 5 0 :1 表i 1 :目前手机显不屏的规格 表1 - 1 描述了基于不同使用目的的手机在显示屏硬件方面的不同要求。对于 语音手机而言,其基本功能是语音通话,因此其成功的关键在于外观和低成本, 所以其对显示屏的要求并不高。对于娱乐手机,其中的娱乐体现在几个方面,一 是声音方面的娱乐,包括铃声( 和弦、m p 3 、m 1 d i ) 、扬声器、环绕音效、m p 3 播放。二是图像方面的娱乐。包括m m s 彩信、照相、摄相、m p e g 4 播放。三 是游戏方面,包括j a v a 、b r e w 等。单一功能的娱乐手机,往往仅集成照相功 能,因此对显示屏的要求并不很高,但是复合功能型手机通常支持各种复杂的功 能应用,其中可能包括利用动画、视频短片、图片及声音撰写短信等等功能,有 些甚至还提供播放3 g p 和m p e g 4 格式视频文件的支持等。对于此类手机显示屏 必须采用t f t - l c

温馨提示

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

评论

0/150

提交评论