DPI缩放技术是什么

07-13

传统DPI缩放机制

传统DPI缩放机制被Windows XP所采用,由开发者自行检查字体缩放后是否存在潜在的问题。

优点:字体清晰

缺点:排版错乱(UI元素文本框重叠、表格文字溢出、界面超越屏幕边缘)

DPI缩放技术是什么

现代DPI缩放机制:DPI虚拟化

现代DPI缩放机制被Windows Vista/Win7/Win8/Win8.1所采用。如果DPI缩放比例不超过125%,继续使用传统DPI缩放机制,超过之后就开启这个新模式。需要指出的是,125%缩放比例在多数情况并不会造成严重的界面错乱,而且缩放后字体清晰。

具体来说,对于报告支持DPI自适应的程序,系统将停用DPI缩放。

对于没有报告支持DPI自适应的程序,系统将采用如下机制:

缩放比例如果为100%的整数倍,系统采用一点对多点进行缩放。当选择缩放比例为200%/300%/...,原有界面中1点依次对应4点/9点...。

缩放比例如果为非100%的整数倍,系统首先给应用提交虚拟分辨率,然后由系统离屏渲染软件界面,再放大到用户选择的DPI级别上。

以1920*1080分辨率,缩放比例150%为例。系统首先向应用提交当前的分辨率为1280x720,获得离屏渲染的界面以后,再使用常规的图像插值算法进行放大。需要提醒的是,插值将不可避免的导致界面模糊,字体锯齿等一系列问题。

优点:界面正常

缺点:界面模糊

Win10 DPI缩放机制:完全的DPI虚拟化

Win10 DPI缩放机制绝大多数部分与现代DPI缩放机制一致,唯一不同是所有DPI级别(包括125%)均采用DPI虚拟化机制,保证界面正常。

DPI缩放技术是什么

▲左侧为Win10 DPI机制,右侧为Win8.1 DPI机制

最后简要介绍下MAC DPI缩放机制,Retina屏幕统一采用200% DPI缩放级别,实现原理和Windows没有任何区别。唯一的不同是,MAC OS X软件在显示视频和图像时,视频图像区域采用100% DPI,以保证视频和图片的显示质量。