Windows:如何在高dpi下测试UI?

时间:2009-07-14 17:23:53

标签: windows user-interface testing highdpi

我想测试我的应用程序如何响应 -dpi设置。我不仅仅意味着120dpi。我想测试更高的dpi设置,例如:

  • 建议使用150dpi分辨率
  • 300dpi的
  • 600dpi的
  • 1000dpi的
  • 1200dpi的

我的开发机器的视频卡无法达到300dpi所需的分辨率(或者甚至150dpi)。

假设界面在768行(例如1024x768)的显示器上设计为“适合”,则更高dpi设置所需的分辨率为:

             Normal      Wide-Screen         Frame Buffer
  dpi     Resolution    Resolution    Zoom    Size (MiB)
=======  ============  ============  ======  ============ 
   96     1024 x  768   1280 x  768    100%      3.75     
  113     1200 x  900   1440 x  900    117%      4.96     
  120     1280 x  960   1536 x  960    125%      5.63
  131     1400 x 1050   1680 x 1050    137%      6.73
  150     1600 x 1200   1920 x 1200    156%      8.70
  300     3200 x 2400   3840 x 2400    313%     35.26
  600     6400 x 4800   7680 x 4800    625%    140.63
1,000    10667 x 8000  12800 x 8000  1,042%    390.63

即使在150dpi时,所需的分辨率也相当高。

我正在考虑在 VirtualPC 上运行软件的一线,虚拟机运行 6400x4800 - 然后使用 VNC 连接到虚拟机。然后它可以缩放内容以适合我的显示器。虽然我失去了高dpi显示器的保真度,但我至少可以看一下它,与它进行交互(即测试它)。但VirtualPC模拟的s3 Trio 32/64显卡在 1600x1200 (即150dpi)时最高。

我也想知道是否有一些虚拟视频卡驱动程序,它可以像一个视频卡 - 具有高分辨率,但显示自己在我的原生桌面上缩放。

有什么想法吗?


参考

5 个答案:

答案 0 :(得分:4)

如果您的应用程序的布局在96,120,144,150 dpi时表现相同,那么我认为没有必要对更高的DPI进行测试,因为您已经测试过它适用于不均匀的dpi增量。

实际上市场上已经有很多高dpi友好设置,例如1680x1050 15,4“或1920x1080 16英寸显示器在笔记本电脑中,120dpi已经显示像素依赖问题,并且非常不舒服96dpi已经如此致力于更高密度的显示器支持是有效的。对你有好处!

编辑:我一直在想。这可能不是非常实时,但也许如果您尝试在窗口中处理WM_PRINTWM_PRINTCLIENT消息并将其打印到文件或至少尝试使用打印机设置显示它们的打印预览?突然间,我们至少达到300dpi。只是一个想法。

答案 1 :(得分:4)

我刚试过VirtualBox可以报告以下内容:

  • 使用Windows XP主机我真的不能超过2000 x 2000,指定那些只会切换回800x600
  • 使用Ubuntu 11.04主机我可以去至少 4000x4000。

由于Windows Vista引入了新的驱动程序模型,如果Vista / Windows 7也支持这些高分辨率,我也不会感到惊讶。不幸的是,我没有Vista或Windows 7主机来自己测试。

必要的步骤如下:

  • 切换到缩放显示模式(使用主机 - C ,其中主机默认为右 Ctrl 键)。 这将绘制主机显示的缩放版本,因此不需要使用RDP技巧。它还确保有限的窗口大小不会强制VM降低屏幕分辨率
  • 使用命令行工具VBoxManagespecify the resolution hint

    VBoxManage controlvm "VM Name" setvideomodehint 4000 4000 32
    

答案 2 :(得分:3)

您需要一个支持1920 x 1200的视频卡和显示器。许多用户拥有这些,如果您是开发人员,他们会很高兴使用它们。如果您有1600 x 1200并且不想在新的显示器上花钱那么好。除此之外,除非你为皮克斯工作,否则我认为没有必要。

答案 3 :(得分:1)

正如您已经知道的那样,NVidia和ATI显示卡都允许您创建自定义分辨率,但绝不会在一百万年内达到12800 x 8000.只是为了让您了解需要多少内存。它需要的内存是1080(1920x1200)视频卡的45倍。然而,你可以做的是获得一个大的鸣喇叭并将多张卡连在一起......甚至仍然...... 12800 x 8000将更适合LINUX下的客户硬件和驱动程序。

答案 4 :(得分:0)

Windows不检查您的显示器是否实际测量到您配置的DPI,因此只需连接最大的显示器并开始切换设置。

我很想知道为什么你要测试这么高的分辨率,即超过192的任何东西。如果你真的需要这么高的分辨率,你肯定可以访问将运行它的硬件吗?