文学艺术|民间故事|神话故事|历代名妓|历代名女|现代故事|诗联趣话|爱情故事|校园故事|传奇故事|帝王将相|荤故事|文化前沿|笑话|图库
论文大全|常用资料|经济金融|会计审计|工商管理|艺术学|社会文化|学科论文|计算机|文学论文|哲学论文|政治论文|法律学|医学|财务税收 
幼教频道|怀孕前|怀孕早期|怀孕中期|怀孕晚期|胎教知识|幼儿期|学前期|儿科健康|个性培养|身高体重|生活起居|育儿策略|玩具游戏|睡眠
两性健康|两性生活|性爱心理|性爱技巧|情感实录|两性生理|两性问答|性疾病|性教育|孕育常识|婚烟物语|健康生活|妊娠病|产后病|不孕症

您现在的位置: 冀鲁信息网 >> 综合信息 >> 论文大全 >> 计算机 >> 计算机理论 >> 综合信息正文

可移植的256色图形用户界面的设计

 
  • 上一篇综合信息:

  • 下一篇综合信息:


  •    摘 要 该文从软件可移植性的角度指出设计256色图形用户界面时应当注意的问题,在对SuperVGA产品进行分析的基础上,提出了基于表格驱动的程序设计思想,并给出了范例。
    随着各种超级VGA的出现,同时具有高分辨率和丰富色彩的图形用户界面已经成为程序员和用户共同追求的目标。然而由于各制造商提供的VGA产品之间的差异,使得高分辨率256色图形界面的兼容性受到影响,常常会出现这样的情况:在一个显示系统下运行良好的程序,在另一种显示系统下变得面目全非,甚至根本不显示。这表明程序员对程序的可移植性重视不够,或对各种显示设备缺乏足够的了解。
    软件的可移植性是指软件产品从一个硬件/软件环境转移到另一个硬件/软件环境的难易与繁简程度。它从软件对新环境的适应性这一方面,反映了软件的质量。为了提高软件的可移植性,应尽量使软件与具体的设备无关,即提高软件的设备独立性。对于256色图形界面而言,就是要使程序不依赖于某种特定的显示器。例如,程序员没有任何理由假定用户使用的是TVGA。为此,程序员必须提供显示卡的常规检测例程,并能根据检测的结果决定图形算法的具体实现。
    提高软件设备独立性的方法有很多,表格驱动就是其中一种。所谓表格,就是根据需要设计的数据结构。表格中的数据由检测例程填写。表格中包含哪些栏目,应在对各制造商提供的SuperVGA产品足够了解的基础上取舍,栏目应体现各产品之间的差异。
    一、SuperVGA编程综述
    SuperVGA产品在体系结构上和标准的IBM VGA有所不同。但编程思想基本上是一样的,这些编程方法已有许多文章介绍,这里不再重复。
    影响256色图形界面可移植性的主要障碍来自各制造商提供的VGA产品的下面几点差异。
    1.显示模式的定义不同。如5DH对TVGA而言,代表640×480
    ×256色模式,对PVGA而言却代
    表1024×768×16色模式。因此,直接用这种模式号初始化显示系统是不可取的。和显示模式密切相关的是水平分辨率和垂直分辨率。尽管各VGA的256色显示模式定义迥异,但大都支持如下几种流行的分辨率,现用统一的模式号定义见附表。
    @@10A06500.GIF;附表@@
    不同分辨率之间的区别,体现在编程上就是同一屏幕坐标映射到显存的地址不同,但映射机理却是一样的。具体地说,坐标(x,y)对应显存的偏移地址(相对于A000)为Addr=-vga-width*y+x
    2.分页机制不同。SuperVGA使用256K、512K或1M
    的显示存储器结构。为了使处理器可通过一个64K主窗口来存取这样大的显示存储器,SuperVGA有一个存储器分页机制,使得只将显示存储器的一部分映射到处理器的地址空间。值得注意的是,不同的VGA产品,其页的大小不同,页起始地址的粒度也是可变的。具体的页选择算法请查阅制造商提供的资料。
    不同的显示模式,显示一屏图像所需的页数是不同的。
    除了可移植性外,效率也是一个不可忽视的因素。图形系统的核心部分应使用汇编语言编程。这不仅是因为汇编语言的效率高,而且还因为汇编语言子程序的可再用性和可协用性也很好。核心部分应十分重视下面几点:(1)减少不必要的页边界检查次数;(2)只有在必要时才进行页选择;(3)选择高效的机器指令。现举例说明。程序1是图像显示系统中常用的函数,其功能是将解包后的图像数据送到显存。为便于阅读同时给出了C语言调用原型。程序在传送每一行数据时,提前预测是否会遇到页边界,如果没有,直接传送;如果有,则将数据分成两部分,分别传送,中间插入页选择。所有的传送均用字操作代替字节操作。页边界检查只有一次,分页操作只有在必要时才发生,图像的显示用最高效的指令REP MOVSW。
    程度1:
    ;原型:void LineDump(int x,int y, int num, char far*ptr)
    ;参数:
    ; x,y-屏幕坐标
    ; num-本行的像素个数
    ; ptr-指向像素数据的远指针
    LineDump proc fa

    [1] [2] [3] [4] 下一页  

     
  • 上一篇综合信息:

  • 下一篇综合信息:
  • 新闻中心|农业新闻|蓄产行情|饲料行情|水产行情|
    粮油行情|蔬菜行情|农资行情|市场分析|致富经验|
    农业科技|植物保护|施肥技术|农作栽培|政策法规|
    农业词典|农用物资|加工保鲜|病虫防治|植物验疫|
    科技推广|实用技术|新优品种|动物养殖|科技动态|
    中药栽培|加工技术|专家观点|电脑技术|网络技术|

    | | 设为首页 | 加入收藏 | 联系我们 | 友情链接 | 版权申明 | 网站地图 |
    2005-2008 © www.n318.com 冀鲁信息网 冀ICP备05022225号
    声明:本站为免费个人网站,无力支付稿酬,如果您不想让您的文章出现在本站请联系我们。我们会在第一时间删除。