SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
议程


            Windows 7兼容性系列课程(4):
                    7兼容性系列课程(4):                                              High DPI
            有针对的兼容性开发(
            有针对的兼容性开发(下)

              吴慧锋                                                             兼容性测试工具
              MVP 测试与技术支持工程师
              www.ssw.com.au
              E-mail / MSN: WilsonWu@ssw.com.au




          议程                                                              High DPI显示模式
                                                                               DPI显示模式
                                                                             介绍             宽度     高度      尺寸       DPI
              引入 High DPI                                                    17" WXGA+      1440    900     17      100
                                                                             15.4" WXGA+    1440    900    15.4     110
              问题及原理                                                          15.4" WXGA     1280    768    15.4     97
              我们该如何处理                                                        14.1" WXGA     1280    768    14.1     106
                                                                             13.3" WXGA     1280    768    13.3     112
              DPI Aware Manifest清单的添加
                        Manifest清单的添加                                        17" WUXGA      1920   1200     17      133
                                                                             17" WSXGA+     1680   1050     17      117
                                                                             15.4" WSXGA+   1680   1050    15.4     129
                                                                             14.1" WXGA+    1440    900    14.1     120
                                                                             13.3" WXGA+    1440    900    13.3     127
                                                                             12.1" WXGA     1280    768    12.1     123
                                                                             15.4" WUXGA    1920   1200    15.4     147




          用户使用解析度情况                                                       我们关心哪些问题
             显示器最高解析度
                        设置最高解析度用户                                          非推荐的解析度的选择造成高质量显示器无用武之地
                           百分比
                                                                           由于本地解析度设置的原因文字看起来模糊不清
            1280X1024      56%
            1400X1050      79%                                             无法显示高清内容
            1600X1200      32%      详细    使用1600X1200解析度的用户
                                          使用1600X1200解析度的用户                  720p高清视频需要1280x720的分辨率
                                                                             720p高清视频需要1280x720的分辨率
            1680X1050      66%
                                                                             1080p则需要1920x1080的分辨率
                                                                             1080p则需要1920x1080的分辨率
            1920X1050      39%
                                         用户选择的解析度    选择该解析度用户百分比
            1920X1200      78%                                               1.9万像素的照面需要1600x1200分辨率来显示
                                                                             1.9万像素的照面需要1600x1200分辨率来显示
            平均值            55%                                             许多人选择了不正确的屏幕比例
                                         640X480          1%
                                         800X600          7%
                                         1024X768        57%
                                         1280X1024        3%
                                         1600X1200       32%
                                         总计            100.00%


             用户降低解析度的目的是为了让文字显得更大                                             像素化的图像不利于显示             不推荐的屏幕比例造成图像拉伸




© 2002 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.   1
High DPI 的目标                                                    High DPI 遇到的问题
           OEM厂商可以针对显示器将High DPI和显示器推荐解析度设为默认模
           OEM厂商可以针对显示器将High DPI和显示器推荐解析度设为默认模
           式
           用户可以保持最佳显示分辨率
           用户使用High DPI来放大文字和界面
           用户使用High DPI来放大文字和界面                                                                            文字显示不全

           整体提高应用程序的使用体验
          例如:
          例如:
                                                                                                                                   布局问题和图片尺寸
              最佳分辨率         用户选择分辨率          可以代替设置             显示增益

              1200x1000      1024x768   1200x1000 @ 120 DPI     52%
                                                                                Win Form程序问题
                                                                                    Form程序问题
              1600x1200      1024x768   1600x1200 @ 144 DPI     140%
                                                                                                    位图像素化
              1600x1200     1200x1000   1600x1200 @ 120 DPI     60%
                                                                                                                           界面模糊

           目标达成的指标是: 使更多用户使用推荐解析度并且使用High DPI,而
           目标达成的指标是: 使更多用户使用推荐解析度并且使用High DPI,而
           且让应用程序都可以使用DPI aware来支持系统的这项设置。
           且让应用程序都可以使用DPI aware来支持系统的这项设置。                                                                                           字体大小问题




          DPI 设置对系统内容影响                                                   DPI各种模式下系统文字显示
                                                                          DPI各种模式下系统文字显示
                                             96 DPI 120 DPI 144 DPI                                                          字母N在放大13倍后的效果
                                                                                                                             字母N在放大13倍后的效果
             系统情况
            GetDeviceCaps(hDC, LOGPIXELSX)       96       120   144                                                          注意使用不同DPI设置下字
                                                                                                                             注意使用不同DPI设置下字
                                                                                                                             母的像素
            DEFAULT_GUI_FONT (字体高度)              13        16    20                                                          然后注意字母像素的着色,
                                                                             96 DPI        120 DPI           144 DPI
            SM_CXHTHUMB (滚动条型号)
                        (滚动条  )                  17        21    26          ( p
                                                                             (11 pixels)
                                                                                       )   (13 pixels)       (16 pixels)
                                                                                                                             从这里我们也能看到显示解
                                                                                                                             析度推荐设置的重要性
            SM_XICON (图标宽度)                      32        40    48

                                                          字体和文字


                当DPI设置增大时,系统将使用更多像素来绘制图标,界面
                 DPI设置增大时,系统将使用更多像素来绘制图标,界面
                控件(例如:滚动条)和文字。




          桌面组成基础 (DWM)                                                    High DPI 情况下


                                 DWM 组成                                                                  DWM在组件过程
                                                                                                         DWM在组件过程
                                  的桌面                                                                      A没有改变
                                                                            A是在High DPI情况下未
                                                                             是在High DPI情况下未
                                                                            使用虚拟化和DPI-
                                                                            使用虚拟化和DPI-Aware
                                                                            的程序。




                                对于DWM, 所有程序在
                                对于DWM,                                                                   系统资源对于A程序没
                                                                                                         系统资源对于A
                                off-screen模式下被DWM
                                off-screen模式下被DWM                                                        有做出DPI响应
                                                                                                         有做出DPI响应
                                重组并显示在屏幕上。
                                                                                                         在High DPI模式下A程序
                                                                                                               DPI模式下A
            Off-
            Off-screen 界面       这些off-screen界面还会使
                                这些off-screen界面还会使                                                        会显示的大很多
                                用于缩略图和Flip 3D等内
                                用于缩略图和Flip 3D等内                             B是一个使用DPI-Aware
                                                                             是一个使用DPI-
                                容                                           的应用程序




© 2002 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.                      2
DPI 虚拟化 (自动缩放)
                   自动缩放)                                                  自动缩放只是一个临时解决方案

                                                                           自动缩放使得一个应用程序窗体随着DPI设置而自动变化
                                                                           自动缩放使得一个应用程序窗体随着DPI设置而自动变化
                                                                           一些跨应用的操作的失败原因是由于管理信息系统与协调空
                                    DWM在组件过程
                                    DWM在组件过程                               间不匹配
                                     中将A进行缩放
                                     中将A
            A是在96-DPI虚拟化的情
             是在96-DPI虚拟化的情                                                 DPI虚拟化可能对一些应用程序不起作用
                                                                           DPI虚拟化可能对一些应用程序不起作用
            况下,未使用DPI Aware
            况下,未使用DPI
            的程序界面的应用程序
                                                                           只在应用程序没有使用DPI Aware功能时有效
                                                                           只在应用程序没有使用DPI Aware功能时有效
                                                                           默认情况下, 自动缩放只当DPI被设置大于等于144时启用
                                                                           默认情况下, 自动缩放只当DPI被设置大于等于144时启用
                                    系统资源对于A程序实
                                    系统资源对于A
                                    施了一个在96-DPI模式
                                    施了一个在96-DPI模式                         自动缩放功能是为了让应用程序兼容High DPI有一个过渡过程
                                                                          自动缩放功能是为了让应用程序兼容High DPI有一个过渡过程
                                    的虚拟化显示

                                    在96-DPI模式下A程序
                                     96-DPI模式下A
            B是一个使用DPI-Aware
             是一个使用DPI-
            的应用程序                   会显示的稍微小一点




          DPI 虚拟化兼容设置                                                     网站浏览中的各种显示问题
                                                                            在IE 8之前,在High DPI显示方面还存在很多问题,但是在IE 8中几乎
                                                                                 之前,在High DPI显示方面还存在很多问题,但是在IE
          可以从每个应用程序的属性窗口的兼容性选项                                              都被修复,所以建议用户尽可能使用IE 8
                                                                            都被修复,所以建议用户尽可能使用IE
          卡中禁用虚拟化设置

          注意:DPI 虚拟化仅在系统DPI大于等于144时
          注意:DPI 虚拟化仅在系统DPI大于等于144时
          起作用

          该功能也可以在DPI自定义设置对话框中设置
          该功能也可以在DPI自定义设置对话框中设置




          全新的Hight DPI控制面板
           新的Hight DPI控制面板                                                我们该如何处理
                                                                            修改并完善软件对于High DPI的支持
                                                                            修改并完善软件对于High DPI的支持
                                                                               测试使用各种DPI模式显示
                                                                               测试使用各种DPI模式显示
                                                                               修复找到的High DPI问题
                                                                               修复找到的High DPI问题
                                                                               在应用程序中加入DPI
                                                                               在应用程序中加入DPI Aware Manifest文件
                                                                                                 Manifest文件
                                                                            确保您的硬件产品支持Windows
                                                                            确保您的硬件产品支持Windows 7
                                                                               确保EDID数据正确
                                                                               确保EDID数据正确
                                                                                保
                                                                               测试硬件附带的应用程序对DPI的支持
                                                                               测试硬件附带的应用程序对DPI的支持
                                                                            验证终端设备在High DPI下的工作情况
                                                                            验证终端设备在High DPI下的工作情况
               Windows Vista中设置面板
                       Vista中设置面板              Windows 7 中的设置面板                确保DPI设置在正常的范围内
                                                                               确保DPI设置在正常的范围内
                                                                               测试硬件附带的应用程序对DPI的支持
                                                                               测试硬件附带的应用程序对DPI的支持
           DPI设置目前已经在面板页面的首要位置了,
           DPI设置目前已经在面板页面的首要位置了,
           我们将让这项功能更人性化!




© 2002 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.   3
High DPI测试列表
               DPI测试列表                                                                        DPI Aware Manifest
                 更高级的设置包括安装,卸载以及下面列表中的
                 设置:                                                                         <application xmlns="urn:schemas-microsoft-com:asm.v3">
                                                                                                           xmlns="urn:schemas-microsoft-
           设置                                            验证                                   <windowsSettings>
                                                                                               windowsSettings>
           1024x768 @ 120 DPI*                           当默认显示为800x600时,我们来测试是否存在程序界面超出屏幕范     <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/Windo
                                                                                                            xmlns="http://schemas.microsoft.com/SMI/2005/Windo
                                                         围以及图片及图标像素化。
                                                                                                 wsSettings">true</dpiAware>
                                                         注意:如果您的应用程序要求在1024x768分辨率下工作,那么请使
                                                         注意:如果您的应用程序要求在1024x768分辨率下工作 那么请使
                                                         用1280x960做上述测试                       </windowsSettings>
                                                                                              </windowsSettings>
                                                                                               /         S
           1600x1200 @ 144 DPI                           验证程序界面是否模糊不清,以及所有鼠标操作尤其是鼠标拖放操作,     </application>
                                                         然后也验证全屏模式是否正常工作。
           1600x1200 @ 144 DPI 并且设置                      一般在这个模式下界面和按钮不会有不正常的现象,主要查看布局以
           DPI Virtualization 为关闭                        及图片像素化的问题。
                                                                                             <!--
                                                                                             <!-- See http://msdn2.microsoft.com/en-us/library/ms633543.aspx -->
                                                                                                      http://msdn2.microsoft.com/en-                         -->
           (从DPI UI -> Custom -> use XP Style Scaling)




          正确方式: 制作一个问题列表,尽可能将这些加入你
          正确方式:
          的Bug库中,希望在未来的开发中解决相关问题
           Bug库中,希望在未来的开发中解决相关问题




                                                                                              更多资源
                                                                                              Whitepaper for Writing DPI Aware Win32 Applications
                                                                                              http://go.microsoft.com/fwlink/?LinkID=129586
                                                                                              EDID Specification
          DPI Aware Manifest                                                                  http://www.vesa.org/Public/EEDIDguideV1.pdf
                                                                                              Information for OEMs configuring OOBE via XML
                                                                                              http://technet.microsoft.com/en-
                                                                                              http://technet.microsoft.com/en-us/library/cc722301.aspx
                                                                                              http://technet.microsoft.com/en-
                                                                                              http://technet.microsoft.com/en-us/library/cc721929.aspx
                                                                                              Windows 7 Engineering Blog High DPI Post
                                                                                              http://blogs.msdn.com/e7/archive/2008/09/13/follow-up-on-high-dpi-
                                                                                              http://blogs.msdn.com/e7/archive/2008/09/13/follow-up-on-high-dpi-
                                                                                                   resolution.aspx
                                                                                              http://blogs.msdn.com/e7/archive/2008/09/16/more-follow-up-to-
                                                                                              http://blogs.msdn.com/e7/archive/2008/09/16/more-follow-up-to-
                                                                                                   discussion-about-high-
                                                                                                   discussion-about-high-dpi.aspx
                                                                                              For more information or questions, send e-mail to
                                                                                                                                      e-
                                                                                              disup@microsoft.com




          议程
                 Application Compatibility Toolkit
                        Standard User Analyze                                                Application Compatibility
                 Application Verifier                                                        Toolkit
                        程序问题检测
                        操作系统版本检测
                 Orca
                        查看MSI安装包工具
                        查看MSI安装包工具




© 2002 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.                                          4
“LUA bugs”问题
               bugs”问题                                                    检测问题的方法
              “LUA bug”是:
                   bug”是:
                 程序或新功能仅在管理员权限下正常工作
                 在普通用户(“LUA”
                 在普通用户(“LUA”)下工作不正常
                 且没有任何需要管理员权限才能运行的内容
              “LUA bug”通常是应用程序兼容问题的最
                   bug”通常是应用程序兼容问题的最
                   b ””通常是应用程序兼容问题的最
              常见问题
              这些问题在解决之前必须可以被明确找出




          Standard User Analyzer                                          Application Verifier




          我们如何来做                                                          检测项
              开启或关闭一些特殊的检测项来对应用程                                              Basics
              序进行检测                                                           Compatibility
              调整各项检测的相关属性                                                     Low Resource Simulation
              配置检查站                                                           LuaPriv
              运行完成被测程序后检查日志                                                   Miscellaneous
                                                                              Printing




© 2002 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.   5
操作系统版本检测原理


          Application Verifier
                                                                                                      Myapp.exe
                                                                                       GetVersionEx
                                                                                                                  6.1



                                                                                                  kernel32.dll




          操作系统版本检测原理


                                                                          操作系统版本检测
                                    Myapp.exe            8.2
                        GetVersionEx()
                        GetVersionEx()


                                    App Verifier   6.1


                                    kernel32.dll




                                                                          Orca
                                                                              MSI安装包编辑工具
                                                                              MSI安装包编辑工具
                                                                              检测MSI安装包内部错误
                                                                              检测MSI安装包内部错误
          Orca
                                                                                      Logo认证必备工具
                                                                              Windows Logo认证必备工具




© 2002 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.   6
工具下载
                                                                                Application Compatibility Toolkit 5.5
                                                                                                                  5.5
                                                                                http://www.microsoft.com/downloads/details.aspx?displaylang

          Orca                                                                  =en&FamilyID=24da89e9-b581-47b0-b45e-
                                                                                =en&FamilyID=24da89e9-b581-47b0-b45e-492dd6da2971

                                                                                Application Verifier
                                                                                http://www.microsoft.com/downloads/details.aspx?displaylang
                                                                                http://www microsoft com/downloads/details aspx?displaylang
                                                                                =en&FamilyID=c4a25ab9-649d-4a1b-b4a7-
                                                                                =en&FamilyID=c4a25ab9-649d-4a1b-b4a7-c9d8b095df18

                                                                                Orca
                                                                                http://www.microsoft.com/downloads/details.aspx?FamilyId=A
                                                                                55B6B43-E24F-4EA3-A93E-
                                                                                55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en




          其他资源                                                                 Question & Answer
              Windows Vista Application Development Requirements for
              User Account Control Compatibility
              http://www.microsoft.com/downloads/details.aspx?FamilyID=b
              a73b169-a648-49af-bc5e-
              a73b169-a648-49af-bc5e-a2eebb74c16b&DisplayLang=en                     如需提出问题,请在此区域输入文字,并单击
              Teach Your Apps To Play Nicely With Windows Vista User                 “问题和解答”右上方的“提问”按钮即可。
                                                                                      问题和解答”右上方的“提问”
              Account Control
              http://msdn.microsoft.com/msdnmag/issues/07/01/UAC/default
              .aspx
              Problems of Privilege: Find and Fix LUA Bugs
              http://www.microsoft.com/technet/technetmag/issues/2006/08/
              LUABugs/
              Application Compatibility Cookbook
              http://msdn.microsoft.com/library/default.asp?url=/library/en-
              http://msdn.microsoft.com/library/default.asp?url=/library/en-
              us/dnlong/html/AppComp.asp
              Advanced Windows Troubleshooting with SysInternals                您也可以选择在微软中文技术论坛上寻求帮助,MSDN中文网络
                                                                                  也可以选择在微软中文技术论坛上寻求帮助,MSDN中文网络
              Process Monitor                                                   广播的讲师们会定期在论坛上为大家解答与课程相关的技术问题。
              http://www.microsoft.com/emea/itsshowtime/sessionh.aspx?vi        http://forums.microsoft.com/china
                                                                                http://forums.microsoft.com/china
              deoid=346




          感谢!
          感谢!
               吴慧锋
               Wilson Wu
               Email: iwilsonwu@gmail.com
               MSN: il
               MSN wilsonwu@ssw.com.au
                              @
               QQ: 53286461
               Blog: http://WilsonWu.cnblogs.com
               Blog: http://WilsonWu.cnblogs.com




© 2002 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.                     7

Más contenido relacionado

Destacado

Silverlight Deployment Guide V2
Silverlight Deployment Guide V2Silverlight Deployment Guide V2
Silverlight Deployment Guide V2Chui-Wen Chiu
 
介紹如何在微軟新一代服務平台建立雲端運用程式
介紹如何在微軟新一代服務平台建立雲端運用程式介紹如何在微軟新一代服務平台建立雲端運用程式
介紹如何在微軟新一代服務平台建立雲端運用程式Chui-Wen Chiu
 
用喜樂彩繪人生
用喜樂彩繪人生用喜樂彩繪人生
用喜樂彩繪人生Chui-Wen Chiu
 

Destacado (6)

Silverlight Deployment Guide V2
Silverlight Deployment Guide V2Silverlight Deployment Guide V2
Silverlight Deployment Guide V2
 
Bw1096
Bw1096Bw1096
Bw1096
 
十大完美照片
十大完美照片十大完美照片
十大完美照片
 
VB.NET 編碼準則
VB.NET 編碼準則VB.NET 編碼準則
VB.NET 編碼準則
 
介紹如何在微軟新一代服務平台建立雲端運用程式
介紹如何在微軟新一代服務平台建立雲端運用程式介紹如何在微軟新一代服務平台建立雲端運用程式
介紹如何在微軟新一代服務平台建立雲端運用程式
 
用喜樂彩繪人生
用喜樂彩繪人生用喜樂彩繪人生
用喜樂彩繪人生
 

Similar a Windows 7兼容性系列课程(4):有针对的兼容性开发(下)

IPV9人类共同的理想/IPv9 - The common ideal for human being
IPV9人类共同的理想/IPv9 - The common ideal for human beingIPV9人类共同的理想/IPv9 - The common ideal for human being
IPV9人类共同的理想/IPv9 - The common ideal for human beingshizhao
 
Richard Databoard
Richard DataboardRichard Databoard
Richard Databoard巍 陆
 
Webken 03: Project Design for Optimaizing User Experience
Webken 03: Project Design for Optimaizing User ExperienceWebken 03: Project Design for Optimaizing User Experience
Webken 03: Project Design for Optimaizing User ExperienceNobuya Sato
 
023 vimtamogudu
023 vimtamogudu023 vimtamogudu
023 vimtamoguduHari99
 
テキストマイニングとNLPビジネス
テキストマイニングとNLPビジネステキストマイニングとNLPビジネス
テキストマイニングとNLPビジネスHiroshi Ono
 
Development toolsforteamdevelopment
Development toolsforteamdevelopmentDevelopment toolsforteamdevelopment
Development toolsforteamdevelopmentTakao Tetsuro
 
企业级搜索引擎Solr交流
企业级搜索引擎Solr交流企业级搜索引擎Solr交流
企业级搜索引擎Solr交流chuan liang
 
Archydro
ArchydroArchydro
Archydroabkhiz
 
Archydro
ArchydroArchydro
Archydroabkhiz
 
普通の見積り勉強会 番外編
普通の見積り勉強会 番外編普通の見積り勉強会 番外編
普通の見積り勉強会 番外編Fumihiko Kinoshita
 
IE-027 動作與時間研究建立精實生產環境
IE-027 動作與時間研究建立精實生產環境IE-027 動作與時間研究建立精實生產環境
IE-027 動作與時間研究建立精實生產環境handbook
 
QM-078-企業導入六標準差之個案探討
QM-078-企業導入六標準差之個案探討QM-078-企業導入六標準差之個案探討
QM-078-企業導入六標準差之個案探討handbook
 
Windows 7兼容性系列课程(5):Windows 7徽标认证
Windows 7兼容性系列课程(5):Windows 7徽标认证Windows 7兼容性系列课程(5):Windows 7徽标认证
Windows 7兼容性系列课程(5):Windows 7徽标认证Chui-Wen Chiu
 
095722121-期中報告-UGC
095722121-期中報告-UGC095722121-期中報告-UGC
095722121-期中報告-UGCcherish0906
 
023 teerina -tee ta
023 teerina -tee ta023 teerina -tee ta
023 teerina -tee taHari99
 
20090313 Cakephpstudy
20090313 Cakephpstudy20090313 Cakephpstudy
20090313 CakephpstudyYusuke Ando
 
گزارش توسعه‌دهندگان بازار در فصل تابستان ۱۳۹۷
گزارش توسعه‌دهندگان بازار در فصل تابستان ۱۳۹۷گزارش توسعه‌دهندگان بازار در فصل تابستان ۱۳۹۷
گزارش توسعه‌دهندگان بازار در فصل تابستان ۱۳۹۷Bazaar Insight
 
980430寶來期貨台股盤後日報
980430寶來期貨台股盤後日報980430寶來期貨台股盤後日報
980430寶來期貨台股盤後日報guest92ee6e
 

Similar a Windows 7兼容性系列课程(4):有针对的兼容性开发(下) (20)

IPV9人类共同的理想/IPv9 - The common ideal for human being
IPV9人类共同的理想/IPv9 - The common ideal for human beingIPV9人类共同的理想/IPv9 - The common ideal for human being
IPV9人类共同的理想/IPv9 - The common ideal for human being
 
Richard Databoard
Richard DataboardRichard Databoard
Richard Databoard
 
4
44
4
 
Webken 03: Project Design for Optimaizing User Experience
Webken 03: Project Design for Optimaizing User ExperienceWebken 03: Project Design for Optimaizing User Experience
Webken 03: Project Design for Optimaizing User Experience
 
023 vimtamogudu
023 vimtamogudu023 vimtamogudu
023 vimtamogudu
 
テキストマイニングとNLPビジネス
テキストマイニングとNLPビジネステキストマイニングとNLPビジネス
テキストマイニングとNLPビジネス
 
Development toolsforteamdevelopment
Development toolsforteamdevelopmentDevelopment toolsforteamdevelopment
Development toolsforteamdevelopment
 
企业级搜索引擎Solr交流
企业级搜索引擎Solr交流企业级搜索引擎Solr交流
企业级搜索引擎Solr交流
 
Archydro
ArchydroArchydro
Archydro
 
Archydro
ArchydroArchydro
Archydro
 
From Virtual Worlds To The 3 D Web
From Virtual Worlds To The 3 D WebFrom Virtual Worlds To The 3 D Web
From Virtual Worlds To The 3 D Web
 
普通の見積り勉強会 番外編
普通の見積り勉強会 番外編普通の見積り勉強会 番外編
普通の見積り勉強会 番外編
 
IE-027 動作與時間研究建立精實生產環境
IE-027 動作與時間研究建立精實生產環境IE-027 動作與時間研究建立精實生產環境
IE-027 動作與時間研究建立精實生產環境
 
QM-078-企業導入六標準差之個案探討
QM-078-企業導入六標準差之個案探討QM-078-企業導入六標準差之個案探討
QM-078-企業導入六標準差之個案探討
 
Windows 7兼容性系列课程(5):Windows 7徽标认证
Windows 7兼容性系列课程(5):Windows 7徽标认证Windows 7兼容性系列课程(5):Windows 7徽标认证
Windows 7兼容性系列课程(5):Windows 7徽标认证
 
095722121-期中報告-UGC
095722121-期中報告-UGC095722121-期中報告-UGC
095722121-期中報告-UGC
 
023 teerina -tee ta
023 teerina -tee ta023 teerina -tee ta
023 teerina -tee ta
 
20090313 Cakephpstudy
20090313 Cakephpstudy20090313 Cakephpstudy
20090313 Cakephpstudy
 
گزارش توسعه‌دهندگان بازار در فصل تابستان ۱۳۹۷
گزارش توسعه‌دهندگان بازار در فصل تابستان ۱۳۹۷گزارش توسعه‌دهندگان بازار در فصل تابستان ۱۳۹۷
گزارش توسعه‌دهندگان بازار در فصل تابستان ۱۳۹۷
 
980430寶來期貨台股盤後日報
980430寶來期貨台股盤後日報980430寶來期貨台股盤後日報
980430寶來期貨台股盤後日報
 

Más de Chui-Wen Chiu

Más de Chui-Wen Chiu (20)

Dynamic Python
Dynamic PythonDynamic Python
Dynamic Python
 
Pythonpresent
PythonpresentPythonpresent
Pythonpresent
 
Introduce Django
Introduce DjangoIntroduce Django
Introduce Django
 
移動內存算法
移動內存算法移動內存算法
移動內存算法
 
墾丁 更新版
墾丁  更新版墾丁  更新版
墾丁 更新版
 
墾丁 更新版2
墾丁  更新版2墾丁  更新版2
墾丁 更新版2
 
高雄新地標 統一夢世代
高雄新地標  統一夢世代高雄新地標  統一夢世代
高雄新地標 統一夢世代
 
Borland傳奇
Borland傳奇Borland傳奇
Borland傳奇
 
Python 庫簡介
Python 庫簡介Python 庫簡介
Python 庫簡介
 
Asp.Net Mvc 1.0
Asp.Net Mvc 1.0Asp.Net Mvc 1.0
Asp.Net Mvc 1.0
 
天下第一 夜市總冠軍
天下第一 夜市總冠軍天下第一 夜市總冠軍
天下第一 夜市總冠軍
 
下班就跑是富有哲學道理1
下班就跑是富有哲學道理1下班就跑是富有哲學道理1
下班就跑是富有哲學道理1
 
認識腸病毒
認識腸病毒認識腸病毒
認識腸病毒
 
排隊的店
排隊的店排隊的店
排隊的店
 
柬埔寨鄉村婚禮
柬埔寨鄉村婚禮柬埔寨鄉村婚禮
柬埔寨鄉村婚禮
 
新 創 意
新 創 意新 創 意
新 創 意
 
挖好屬於自己的井
挖好屬於自己的井挖好屬於自己的井
挖好屬於自己的井
 
Why The Us Wants War 080702
Why The Us Wants War  080702Why The Us Wants War  080702
Why The Us Wants War 080702
 
你今天的選擇是什麼?
你今天的選擇是什麼?你今天的選擇是什麼?
你今天的選擇是什麼?
 
我的學思歷程 劉兆玄
我的學思歷程 劉兆玄我的學思歷程 劉兆玄
我的學思歷程 劉兆玄
 

Windows 7兼容性系列课程(4):有针对的兼容性开发(下)

  • 1. 议程 Windows 7兼容性系列课程(4): 7兼容性系列课程(4): High DPI 有针对的兼容性开发( 有针对的兼容性开发(下) 吴慧锋 兼容性测试工具 MVP 测试与技术支持工程师 www.ssw.com.au E-mail / MSN: WilsonWu@ssw.com.au 议程 High DPI显示模式 DPI显示模式 介绍 宽度 高度 尺寸 DPI 引入 High DPI 17" WXGA+ 1440 900 17 100 15.4" WXGA+ 1440 900 15.4 110 问题及原理 15.4" WXGA 1280 768 15.4 97 我们该如何处理 14.1" WXGA 1280 768 14.1 106 13.3" WXGA 1280 768 13.3 112 DPI Aware Manifest清单的添加 Manifest清单的添加 17" WUXGA 1920 1200 17 133 17" WSXGA+ 1680 1050 17 117 15.4" WSXGA+ 1680 1050 15.4 129 14.1" WXGA+ 1440 900 14.1 120 13.3" WXGA+ 1440 900 13.3 127 12.1" WXGA 1280 768 12.1 123 15.4" WUXGA 1920 1200 15.4 147 用户使用解析度情况 我们关心哪些问题 显示器最高解析度 设置最高解析度用户 非推荐的解析度的选择造成高质量显示器无用武之地 百分比 由于本地解析度设置的原因文字看起来模糊不清 1280X1024 56% 1400X1050 79% 无法显示高清内容 1600X1200 32% 详细 使用1600X1200解析度的用户 使用1600X1200解析度的用户 720p高清视频需要1280x720的分辨率 720p高清视频需要1280x720的分辨率 1680X1050 66% 1080p则需要1920x1080的分辨率 1080p则需要1920x1080的分辨率 1920X1050 39% 用户选择的解析度 选择该解析度用户百分比 1920X1200 78% 1.9万像素的照面需要1600x1200分辨率来显示 1.9万像素的照面需要1600x1200分辨率来显示 平均值 55% 许多人选择了不正确的屏幕比例 640X480 1% 800X600 7% 1024X768 57% 1280X1024 3% 1600X1200 32% 总计 100.00% 用户降低解析度的目的是为了让文字显得更大 像素化的图像不利于显示 不推荐的屏幕比例造成图像拉伸 © 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 1
  • 2. High DPI 的目标 High DPI 遇到的问题 OEM厂商可以针对显示器将High DPI和显示器推荐解析度设为默认模 OEM厂商可以针对显示器将High DPI和显示器推荐解析度设为默认模 式 用户可以保持最佳显示分辨率 用户使用High DPI来放大文字和界面 用户使用High DPI来放大文字和界面 文字显示不全 整体提高应用程序的使用体验 例如: 例如: 布局问题和图片尺寸 最佳分辨率 用户选择分辨率 可以代替设置 显示增益 1200x1000 1024x768 1200x1000 @ 120 DPI 52% Win Form程序问题 Form程序问题 1600x1200 1024x768 1600x1200 @ 144 DPI 140% 位图像素化 1600x1200 1200x1000 1600x1200 @ 120 DPI 60% 界面模糊 目标达成的指标是: 使更多用户使用推荐解析度并且使用High DPI,而 目标达成的指标是: 使更多用户使用推荐解析度并且使用High DPI,而 且让应用程序都可以使用DPI aware来支持系统的这项设置。 且让应用程序都可以使用DPI aware来支持系统的这项设置。 字体大小问题 DPI 设置对系统内容影响 DPI各种模式下系统文字显示 DPI各种模式下系统文字显示 96 DPI 120 DPI 144 DPI 字母N在放大13倍后的效果 字母N在放大13倍后的效果 系统情况 GetDeviceCaps(hDC, LOGPIXELSX) 96 120 144 注意使用不同DPI设置下字 注意使用不同DPI设置下字 母的像素 DEFAULT_GUI_FONT (字体高度) 13 16 20 然后注意字母像素的着色, 96 DPI 120 DPI 144 DPI SM_CXHTHUMB (滚动条型号) (滚动条 ) 17 21 26 ( p (11 pixels) ) (13 pixels) (16 pixels) 从这里我们也能看到显示解 析度推荐设置的重要性 SM_XICON (图标宽度) 32 40 48 字体和文字 当DPI设置增大时,系统将使用更多像素来绘制图标,界面 DPI设置增大时,系统将使用更多像素来绘制图标,界面 控件(例如:滚动条)和文字。 桌面组成基础 (DWM) High DPI 情况下 DWM 组成 DWM在组件过程 DWM在组件过程 的桌面 A没有改变 A是在High DPI情况下未 是在High DPI情况下未 使用虚拟化和DPI- 使用虚拟化和DPI-Aware 的程序。 对于DWM, 所有程序在 对于DWM, 系统资源对于A程序没 系统资源对于A off-screen模式下被DWM off-screen模式下被DWM 有做出DPI响应 有做出DPI响应 重组并显示在屏幕上。 在High DPI模式下A程序 DPI模式下A Off- Off-screen 界面 这些off-screen界面还会使 这些off-screen界面还会使 会显示的大很多 用于缩略图和Flip 3D等内 用于缩略图和Flip 3D等内 B是一个使用DPI-Aware 是一个使用DPI- 容 的应用程序 © 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 2
  • 3. DPI 虚拟化 (自动缩放) 自动缩放) 自动缩放只是一个临时解决方案 自动缩放使得一个应用程序窗体随着DPI设置而自动变化 自动缩放使得一个应用程序窗体随着DPI设置而自动变化 一些跨应用的操作的失败原因是由于管理信息系统与协调空 DWM在组件过程 DWM在组件过程 间不匹配 中将A进行缩放 中将A A是在96-DPI虚拟化的情 是在96-DPI虚拟化的情 DPI虚拟化可能对一些应用程序不起作用 DPI虚拟化可能对一些应用程序不起作用 况下,未使用DPI Aware 况下,未使用DPI 的程序界面的应用程序 只在应用程序没有使用DPI Aware功能时有效 只在应用程序没有使用DPI Aware功能时有效 默认情况下, 自动缩放只当DPI被设置大于等于144时启用 默认情况下, 自动缩放只当DPI被设置大于等于144时启用 系统资源对于A程序实 系统资源对于A 施了一个在96-DPI模式 施了一个在96-DPI模式 自动缩放功能是为了让应用程序兼容High DPI有一个过渡过程 自动缩放功能是为了让应用程序兼容High DPI有一个过渡过程 的虚拟化显示 在96-DPI模式下A程序 96-DPI模式下A B是一个使用DPI-Aware 是一个使用DPI- 的应用程序 会显示的稍微小一点 DPI 虚拟化兼容设置 网站浏览中的各种显示问题 在IE 8之前,在High DPI显示方面还存在很多问题,但是在IE 8中几乎 之前,在High DPI显示方面还存在很多问题,但是在IE 可以从每个应用程序的属性窗口的兼容性选项 都被修复,所以建议用户尽可能使用IE 8 都被修复,所以建议用户尽可能使用IE 卡中禁用虚拟化设置 注意:DPI 虚拟化仅在系统DPI大于等于144时 注意:DPI 虚拟化仅在系统DPI大于等于144时 起作用 该功能也可以在DPI自定义设置对话框中设置 该功能也可以在DPI自定义设置对话框中设置 全新的Hight DPI控制面板 新的Hight DPI控制面板 我们该如何处理 修改并完善软件对于High DPI的支持 修改并完善软件对于High DPI的支持 测试使用各种DPI模式显示 测试使用各种DPI模式显示 修复找到的High DPI问题 修复找到的High DPI问题 在应用程序中加入DPI 在应用程序中加入DPI Aware Manifest文件 Manifest文件 确保您的硬件产品支持Windows 确保您的硬件产品支持Windows 7 确保EDID数据正确 确保EDID数据正确 保 测试硬件附带的应用程序对DPI的支持 测试硬件附带的应用程序对DPI的支持 验证终端设备在High DPI下的工作情况 验证终端设备在High DPI下的工作情况 Windows Vista中设置面板 Vista中设置面板 Windows 7 中的设置面板 确保DPI设置在正常的范围内 确保DPI设置在正常的范围内 测试硬件附带的应用程序对DPI的支持 测试硬件附带的应用程序对DPI的支持 DPI设置目前已经在面板页面的首要位置了, DPI设置目前已经在面板页面的首要位置了, 我们将让这项功能更人性化! © 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 3
  • 4. High DPI测试列表 DPI测试列表 DPI Aware Manifest 更高级的设置包括安装,卸载以及下面列表中的 设置: <application xmlns="urn:schemas-microsoft-com:asm.v3"> xmlns="urn:schemas-microsoft- 设置 验证 <windowsSettings> windowsSettings> 1024x768 @ 120 DPI* 当默认显示为800x600时,我们来测试是否存在程序界面超出屏幕范 <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/Windo xmlns="http://schemas.microsoft.com/SMI/2005/Windo 围以及图片及图标像素化。 wsSettings">true</dpiAware> 注意:如果您的应用程序要求在1024x768分辨率下工作,那么请使 注意:如果您的应用程序要求在1024x768分辨率下工作 那么请使 用1280x960做上述测试 </windowsSettings> </windowsSettings> / S 1600x1200 @ 144 DPI 验证程序界面是否模糊不清,以及所有鼠标操作尤其是鼠标拖放操作, </application> 然后也验证全屏模式是否正常工作。 1600x1200 @ 144 DPI 并且设置 一般在这个模式下界面和按钮不会有不正常的现象,主要查看布局以 DPI Virtualization 为关闭 及图片像素化的问题。 <!-- <!-- See http://msdn2.microsoft.com/en-us/library/ms633543.aspx --> http://msdn2.microsoft.com/en- --> (从DPI UI -> Custom -> use XP Style Scaling) 正确方式: 制作一个问题列表,尽可能将这些加入你 正确方式: 的Bug库中,希望在未来的开发中解决相关问题 Bug库中,希望在未来的开发中解决相关问题 更多资源 Whitepaper for Writing DPI Aware Win32 Applications http://go.microsoft.com/fwlink/?LinkID=129586 EDID Specification DPI Aware Manifest http://www.vesa.org/Public/EEDIDguideV1.pdf Information for OEMs configuring OOBE via XML http://technet.microsoft.com/en- http://technet.microsoft.com/en-us/library/cc722301.aspx http://technet.microsoft.com/en- http://technet.microsoft.com/en-us/library/cc721929.aspx Windows 7 Engineering Blog High DPI Post http://blogs.msdn.com/e7/archive/2008/09/13/follow-up-on-high-dpi- http://blogs.msdn.com/e7/archive/2008/09/13/follow-up-on-high-dpi- resolution.aspx http://blogs.msdn.com/e7/archive/2008/09/16/more-follow-up-to- http://blogs.msdn.com/e7/archive/2008/09/16/more-follow-up-to- discussion-about-high- discussion-about-high-dpi.aspx For more information or questions, send e-mail to e- disup@microsoft.com 议程 Application Compatibility Toolkit Standard User Analyze Application Compatibility Application Verifier Toolkit 程序问题检测 操作系统版本检测 Orca 查看MSI安装包工具 查看MSI安装包工具 © 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 4
  • 5. “LUA bugs”问题 bugs”问题 检测问题的方法 “LUA bug”是: bug”是: 程序或新功能仅在管理员权限下正常工作 在普通用户(“LUA” 在普通用户(“LUA”)下工作不正常 且没有任何需要管理员权限才能运行的内容 “LUA bug”通常是应用程序兼容问题的最 bug”通常是应用程序兼容问题的最 b ””通常是应用程序兼容问题的最 常见问题 这些问题在解决之前必须可以被明确找出 Standard User Analyzer Application Verifier 我们如何来做 检测项 开启或关闭一些特殊的检测项来对应用程 Basics 序进行检测 Compatibility 调整各项检测的相关属性 Low Resource Simulation 配置检查站 LuaPriv 运行完成被测程序后检查日志 Miscellaneous Printing © 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 5
  • 6. 操作系统版本检测原理 Application Verifier Myapp.exe GetVersionEx 6.1 kernel32.dll 操作系统版本检测原理 操作系统版本检测 Myapp.exe 8.2 GetVersionEx() GetVersionEx() App Verifier 6.1 kernel32.dll Orca MSI安装包编辑工具 MSI安装包编辑工具 检测MSI安装包内部错误 检测MSI安装包内部错误 Orca Logo认证必备工具 Windows Logo认证必备工具 © 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 6
  • 7. 工具下载 Application Compatibility Toolkit 5.5 5.5 http://www.microsoft.com/downloads/details.aspx?displaylang Orca =en&FamilyID=24da89e9-b581-47b0-b45e- =en&FamilyID=24da89e9-b581-47b0-b45e-492dd6da2971 Application Verifier http://www.microsoft.com/downloads/details.aspx?displaylang http://www microsoft com/downloads/details aspx?displaylang =en&FamilyID=c4a25ab9-649d-4a1b-b4a7- =en&FamilyID=c4a25ab9-649d-4a1b-b4a7-c9d8b095df18 Orca http://www.microsoft.com/downloads/details.aspx?FamilyId=A 55B6B43-E24F-4EA3-A93E- 55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en 其他资源 Question & Answer Windows Vista Application Development Requirements for User Account Control Compatibility http://www.microsoft.com/downloads/details.aspx?FamilyID=b a73b169-a648-49af-bc5e- a73b169-a648-49af-bc5e-a2eebb74c16b&DisplayLang=en 如需提出问题,请在此区域输入文字,并单击 Teach Your Apps To Play Nicely With Windows Vista User “问题和解答”右上方的“提问”按钮即可。 问题和解答”右上方的“提问” Account Control http://msdn.microsoft.com/msdnmag/issues/07/01/UAC/default .aspx Problems of Privilege: Find and Fix LUA Bugs http://www.microsoft.com/technet/technetmag/issues/2006/08/ LUABugs/ Application Compatibility Cookbook http://msdn.microsoft.com/library/default.asp?url=/library/en- http://msdn.microsoft.com/library/default.asp?url=/library/en- us/dnlong/html/AppComp.asp Advanced Windows Troubleshooting with SysInternals 您也可以选择在微软中文技术论坛上寻求帮助,MSDN中文网络 也可以选择在微软中文技术论坛上寻求帮助,MSDN中文网络 Process Monitor 广播的讲师们会定期在论坛上为大家解答与课程相关的技术问题。 http://www.microsoft.com/emea/itsshowtime/sessionh.aspx?vi http://forums.microsoft.com/china http://forums.microsoft.com/china deoid=346 感谢! 感谢! 吴慧锋 Wilson Wu Email: iwilsonwu@gmail.com MSN: il MSN wilsonwu@ssw.com.au @ QQ: 53286461 Blog: http://WilsonWu.cnblogs.com Blog: http://WilsonWu.cnblogs.com © 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 7