- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高性能Windows图形康莫发库WinG
高性能Windows图形开发库WinG
摘 要 该文首先概述高性能Windows图形开发库WinG,然后讲解WinG的一些特点及充分发挥WinG性能所必须遵循的十条原则,最后举例说明其开发方法。一、概述在Windows下,由于其GDI设备无关性、窗口环境、缺乏通用图形库等限制影响了图形速度。图形速度慢成为选择Windows作为游戏平台的最大障碍。Windows 95在保留Windows的最大优点—设备无关性的同时,在Win32 API中新增一个32位调用CreateDIBSection,使得图形速度得到很大提高。Microsoft公司意识到图形速度对于高质量软件的重要性,提供了WinG(发音”Win Gee”,其中”G”代表游戏(Game))图形库。WinG是为Windows3.1、Windows for Workgroups 3.11、Windows95和Windows NT设计的一种优化的高性能图形库,运行于386以上的处理器。WinG能在Windows环境中提供与DOS环境相当的游戏图形性能。程序员可以直接将内存中的设备无关位图(DIB)传送到屏幕,并且提供抖动(halftoning)API,利用标准Microsoft抖动调色板支持对真彩色的仿真。二、WinGDC和APIWinG提供一种新型设备描述表WinGDC,其用法类似于其它设备描述表,不同的是,程序员可以获取直接指向WinGDC绘图面、BITMAPINFOHEADER和颜色表的指针,还可以创建和选择新的绘图面或修改现有绘图面的颜色表。应用程序可以创建一个WinGDC和创建一个或多个WinGBitmap用于绘图。一旦当前帧绘图、DIB组织、Sprite(精灵)组织完成后,就可将WinGDC缓冲区拷贝到屏幕。这种双缓冲区结构减少了闪烁,使屏幕更新更平滑。WinG API包含如附表所示的函数和类型。附表WinGDC不是调色板设备,是RGB设备。使用WinGSetDIBColorTable,而不是SelectPalette修改设备的颜色表。三、WinG调色板管理Windows调色板管理器用于管理多个应用程序对同一个系统调色板的使用请求。它给每个应用程序分配一个虚拟256色的逻辑调色板,并在必要时将逻辑调色板中的颜色转换为系统调色板中的颜色。所谓对等(Identify)调色板,就是一个与当前系统调色板精确(1:1)匹配的逻辑调色板。它不需要进行调色板转换,因此将WinGDC传送到屏幕上时使用对等调色板能大大提高传送速度。抖动调色板是一个对等调色板,其中包含的颜色是经过精心挑选的,并进行了优化使得在8位设备上通过抖动模拟真彩色。应用程序可选取该调色板并在显示设备描述表中实现,以便利用WinG提供的抖动技术。WinG图形库提供两个支持抖动的API:WinGCreateHalftonePalette和WinGCreateHalftoneBrush,利用它们可在8位设备上仿真出24位真彩色。四、WinG的DIB方向1.自下而上DIBWindows DIB的标准类型是自下而上的DIB,即DIB总是指向内存中最底层的扫描线。坐标(0,0)对应于图像的左下角,而Windows将(0,0)对应于显示器和设备相关位图(DDB)的左上角,即自下而上DIB的y轴被颠倒了。对于8位自下而上DIB,屏幕上像素(X,Y)在内存中的地址计算如下://计算每扫描线实际比特数 DibWidthBits = (UINT)lpBmiHeader-gt;biWidth * (UINT) lpBmiHeader-gt;biBitCount//按32比特边界对齐DibWidthBytes = ((DibWidthBits+31) amp; (~31)) / 8;pPixelXY = DibAddr + (DibHeight-1-Y)*DibWidthBytes + X;2.自上而下DIB其保存方向与大多数DIB相同,内存中的第一扫描线对应于图像的第一行。此时BITMAPINFOHEADER结构的成员biHeight为负值。对于8位自上而下DIB,屏幕上像素(X,Y)在内存中的地址计算为:pPixelXY = DibAddr + Y*DibWidthBytes + X.五、充分发挥WinG性能方法为了最大限度地发挥Windows环境下的WinG的块传送性能,要求:·取出单色图形调试卡和拆接网络连接器;·保存WinGBitmap表面指针和BITMAPINFO;·避免重复GDI调用;·专用函数可能比GDI函数执行速度快;·对任何函数都要测试其执行速度;·不要缩放位图;·不要进行块传递;·不要进行剪切操作;·使用对等调色板;·使用推荐的DIB格式。六、应用实例下面的例子讲解如何利用WinG图形库在Windows95下显示真彩
您可能关注的文档
- 计算机网络中信息系的统技术安全与防范.doc
- 计算机网站建设的规的划、设计及其实现.doc
- 计算机网络信息安全的及其防护策略的研究.doc
- 计算机网络入侵检测的技术探讨.doc
- 计算机网络在医院药的剂科的应用.doc
- 计算机网络信息安全的及对策.doc
- 计算机网络安全与防的范.doc
- 计算机网络安全隐患的与防范策略的探讨.doc
- 计算机网络在经济建的设中的作用.doc
- 计算机网络的.doc
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
最近下载
- T_HNTI 030—2020_茶树种质资源考察收集技术规范.pdf VIP
- 报关原理与实务(第二版)(第5章)1进出口货物报关单填制.ppt VIP
- 2025年滨州市中考英语试题卷(含答案逐题解析).docx
- 基于能力培养的人工智能课程体系设计.docx
- Q/GDW1827-2013三相智能电能表技术规范.pdf VIP
- 国家中医药管理局发布的406种中医优势病种诊疗方案和临床路径目录.pptx VIP
- 华能国际电力股份有限公司本质安全体系管理手册.doc VIP
- 教育行业AI大模型设计方案【231页WORD】.docx VIP
- 2024医保物价培训.pptx VIP
- 屋顶光伏发电建设项目实施方案.docx
文档评论(0)