对于Windows:如何在高DPI测试UI?(Windows: How to test UI und

2019-07-30 04:38发布

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

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

我的开发机器的显卡不能做到有300dpi的,(甚至建议使用150dpi分辨率为此事)所要求的分辨率。

假设界面被设计为768行(例如1024×768)在显示器上为“ 适合 ”,对更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分辨率。

我在想沿着一个虚拟PC上运行的软件的线什么的,与运行6400x4800的虚拟机-然后使用VNC连接到虚拟机。 然后,它可以扩展到适合我的显示器的内容。 虽然我失去了高DPI显示的保真度,我至少可以看看它,与它进行交互(即测试 )。 但是,虚拟PC模拟了S3三星32/64显卡在1600x1200冠上(即建议使用150dpi分辨率)。

我也想知道是否也许有出有一些虚拟视频卡驱动程序,即可以像视频卡-能够进行高清晰度的,但显示器本身缩放我的祖国的桌面上。

有任何想法吗?


参考

  • MSDN -如何确保应用程序正确地显示在高DPI显示器
  • MSDN:编写高DPI Win32应用程序
  • MSDN:教程:编写高DPI Win32应用程序
  • MSDN -像素密度和可用性
  • 工程的Windows 7博客:在高DPI分辨率跟进
  • 格雷格-谢克特的博客-高DPI支持在Windows Vista的Aero

Answer 1:

如果您的应用程序的布局相同的行为在96,120,144,150 dpi的话,我觉得没有必要,以测试它的更高的DPI,因为你将已经测试,它可以很好地用于不均匀DPI增量。

其实有很多设置高DPI友好的市场上已经像1680×1050 15,4" 或1920×1080的16" 显示器的笔记本电脑,这在120DPI已经显示像素的依赖问题和是相当不舒服96DPI一起工作已经如此在高密度显示支持的工作是有效的。 对你有益!

编辑:我一直在思考。 这可能不是很实时的,但也许如果你试图处理WM_PRINTWM_PRINTCLIENT消息在您的Windows,并打印到文件或至少试图显示使用打印机设定它们的打印预览? 突然,我们至少300DPI。 只是一个想法。



Answer 2:

我只是试图与VirtualBox的可报告如下:

  • 使用Windows XP主机我真的不能超越大约2000×2000,指定那些将简单地切换回至800x600
  • 使用的Ubuntu 11.04主机我可以去至少 4000x4000。

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

必要的步骤如下:

  • 切换到缩放显示模式(使用主机 - C,其中主机默认为右侧的Ctrl键)。 这将引起主机显示的缩放版本,所以没有必要使用RDP帽子戏法。 这也保证了有限的窗口大小不会强制VM以降低屏幕分辨率
  • 使用命令行工具VBoxManage到指定分辨率提示 :

     VBoxManage controlvm "VM Name" setvideomodehint 4000 4000 32 


Answer 3:

你需要一个视频卡,并支持1920×1200的许多用户拥有这些监视器,而且他们,如果你是一名开发人员使用一种快乐。 如果你有1600×1200,不想花这笔钱了新的监视器的罚款上。 除此之外,除非你的工作皮克斯,我不认为有必要。



Answer 4:

正如你已经知道,无论是NVIDIA和ATI显卡让你一万年从未但是创建自定义分辨率高达12800 X 8000只给你多少内存的想法,将采取...这将需要45倍的内存作为1080(1920×1200)的视频卡。 但是什么你可以做的就是一个大鸣喇叭钻机和链众多的卡在一起......竟然还... 12800×8,000也会是更适合Linux下客户硬件和驱动程序。



Answer 5:

Windows不检查,看看你的显示器的实际测量来配置它的DPI,所以他们只是在最大的显示器可以和启动开关的设置。

我很好奇,想知道你为什么要考这样高的分辨率,即任何超过192如果你有这样高的分辨率的实际需要,你一定有机会获得将要运行它的硬件?



文章来源: Windows: How to test UI under high-dpi?