Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

搜索
查看: 3286|回复: 15

[讨论] 关于windows对于retina的支持问题 [复制链接]

Rank: 7Rank: 7Rank: 7

UID
793735
帖子
2669
PB币
10202
贡献
0
技术
5
活跃
1719

活动参与先锋 7周年庆典勋章 8周年庆典勋章

发表于 2015-12-6 08:26:45 |显示全部楼层
我希望有哪个windows高手回答一下。

这2天我都在研究mac 对于retina的支持,发现mac的原理其实挺简单,它其实是整体2倍缩放,在这种情况下,布局保持在低分辨率的,只是图片,文字,2倍放大,保持细腻程度。为啥windows不这样做,而是125%,150%这种,不是整体放大。这样的话,文字,图片,布局都需要改变,这就需要程序重写以支持放大。而mac只需要把图标改成大的就可以了。

还有就是如果win要达到mac的那种效果,微软要未来怎么做?是学mac的做法,还是继续125%,150%?

悠哉的平泽唯

Rank: 9

UID
4572910
帖子
6573
PB币
362
贡献
0
技术
24
活跃
7108

十周年 热心会员

发表于 2015-12-6 08:35:40 来自手机 |显示全部楼层
其实部分平板是默认打开200%的缩放,而且分辨率跟iPad一样……不知道R屏为什么没有。
图标,看得出来微软有所跟进,但速度略慢;第三方看他们自己愿不愿意咯

误导党、

Rank: 11Rank: 11Rank: 11

UID
749482
帖子
10847
PB币
17978
贡献
0
技术
98
活跃
2114

活动参与先锋 Win10先驱者 7周年庆典勋章 热心会员 远景技术达人 I'm Windows Phone用户

发表于 2015-12-6 12:08:30 来自手机 |显示全部楼层
不要这么搞笑。你得考虑实际。有3个大问题。

1 像素值,即分辨率。

先不说实际尺寸问题,即ppi问题。

像win界普遍分辨率放大200%实际可视像素:

1280*800 -> 640*400 --- 平板常用
1366*768 -> 683*384
1440*900 -> 720*450
1600*900 -> 800*450
1680*1050 -> 840*525
1920*1080 -> 960*540 --- 苏菲pro1.2 苏菲3
1920*1200 -> 960*600 --- 平板常用
2048*1536 -> 1024*768 --- ipad还有所谓2k屏平板
2160*1440 -> 1080*720 --- 苏菲pro3
2560*1600 -> 1280*800 --- 富士通等一些平板


先举例这么多。放大200并非不可以

而是像1280-1680这段,在台机和本上无需放大。几乎是11寸到22寸的普通分辨率。

在1920-2560才是所谓的高分屏。那么问题来了。当放大到200倍后,4像素合1,那么实际显示的分辨率就是后面的数值,而台机中1920*1080是最常见的,200倍后,连1024都不到,这样用ie看网页都显示不全(当时ie这种,你放大200倍是默认放大,但ie可以自己调回100%或150%这样,但是,但是,收藏夹栏会变态的小。)对于其他软件同样,1024都不的情况,对于支持dpi的软件还好,会根据屏比例来自行调节身材,而大多数不支持的软件,会被强制放大200倍的界面,不只是界面模糊问题了,还有更大的问题,是界面显示不全(dpi放大130以上,系统就会强迫放大所有不支持dpi的软件,也就是125%时,有人说没啥模糊,是因为125%时只放大系统和支持dpi的软件,其实还是100%运行。)

所以在1920*1080这段dpi放大才会是125%或150%也就是实际显示为1536*864或1280*720。但这样虽然是可视像素比200%要大,但这样放大会导致并不是4个像素合成1个像素显示。。。

然后你可以想像,以位图(ico图标就是位图,你去玩下ico编辑软件)显示的图标,就会有撕裂不全,或变形,或模糊。因为这种非2倍的放大,有取样问题。最直观的是win8下,放大这种125%或150%,wifi的梯子大小不一。


所以真正要高分屏就要像2160或2560这样的分辨率。放大200倍后又可以有相对合理的可视像素。

2 ppi

以上单纯说像素问题。但显示屏还有一个物理尺寸问题。也就是对比所有屏幕用另一个标准衡量。就是ppi

PPI=√(X+Y)/ Z 好像是这样。x是横分辨率,y是竖分辨率,z是尺寸

你不用算也能想象,1920*1080的放在21寸和放在10寸。10寸的ppi比21寸几乎大一倍。从ppi又能引出第三个问题。


3 使用距离

即眼睛到显示屏的距离。

一般正常来说使用距离 电视 > 台机显示屏 > 笔记本 > 平板 > 手机。

所以就算电视只有1080p,你正常观看也会觉得清晰,但电脑你可能会看见颗粒(当然你对着电脑5cm距离也是满屏颗粒)

所以ppi只是一个数值,必须加上你的使用距离才能判断你自己适合用还是不适合。

以下举例:

你在本上12寸用1280*800的分辨率,ppi为125左右,使用距离为40-50cm左右,那你会觉得相对舒服。但可能会觉得有颗粒感。

但你在8寸的平板上用1280*800的分辨率,不dpi放大,ppi为188左右,使用距离还是40-50cm当笔记本来用那就是瞎眼,但如果你拿着放到你眼前10-20cm这个手机普通使用距离看,那又是合理的,只是会看见像素颗粒。

所以按照20-30cm这个使用距离,就需要dpi放大到150%,那实际显示为854*534(这个甚至除不尽)
,实际感观上的ppi就是125(这个并不是物理的ppi,物理的还是188,只是你dpi放大后感受到的ppi,计算对比值,虚拟ppi)和上面12寸笔记本使用的ppi一样为125左右。

所以8寸的1280*800机器要当笔记本用就要放大到150%,但问题就在于实际显示,你又可以按第一点就是禁用软件dpi放大,那么对于那个软件又是物理ppi为188的情况来使用。

这已经不是dpi造成图片模糊和窗口大小不一的问题了,而是要么选择瞎眼,要么选择非倍数放大忍受图标撕裂,要么选择200%放大,实际显示不全。


这里

放大后实际显示分辨率为: 原分辨率/放大倍数

物理分辨率、物理尺寸计算的物理ppi决定了屏的细腻程度,也就是像素颗粒大小。

放大后实际显示分辨率、物理尺寸计算得到的感观ppi和你使用距离决定了你使用的真实感受。

所以分辨率,尺寸,使用距离三者的作用。不单是系统的问题。

所以现在对于win来说是伪高清屏时代,在一个不高不低的时代。平板再高也不能上5k,显卡带不动。屏的成本也是问题。

所以呢不是单纯一句放大200%不就好了。

现在来说是笑话。不是耻笑,而是在这样利益的市场,利润为先。真要做到放大到200%。那10寸的机器应该都上2560*1600的屏,放大200%为1280,对于10寸刚好,物理ppi高又没像素颗粒,像富士康那台,上w软妹币了。退其次,pro3,那价格也5000。想8寸上2048的屏,要卖到3000,问题是寨板是499软妹币,要什么自行车。


屏适合了才有4合1的可能。苹果不是s b,选择2048的2k屏,因为早期就是1024的屏。但win下就像上面说的,也不单纯是系统问题了。相对选择自己觉得合理的就是。




点评

longhornxp1  哥们,说了这么多,不就是苹果能做到,微软做不到嘛  发表于 2015-12-6 15:05
依文  佩服你用手机打了这么多字。。。  发表于 2015-12-6 12:14
1

查看全部评分

Rank: 5Rank: 5Rank: 5

UID
3027779
帖子
1022
PB币
2134
贡献
0
技术
21
活跃
755
发表于 2015-12-6 12:15:38 |显示全部楼层
本帖最后由 依文 于 2015-12-6 15:10 编辑

这个问题说起来就很长篇,我吃完饭后也参与一下吧。已更新,请看6楼。

误导党、

Rank: 11Rank: 11Rank: 11

UID
749482
帖子
10847
PB币
17978
贡献
0
技术
98
活跃
2114

活动参与先锋 Win10先驱者 7周年庆典勋章 热心会员 远景技术达人 I'm Windows Phone用户

发表于 2015-12-6 12:17:26 来自手机 |显示全部楼层
然后对于win为何要执着了200%放大。因为按照目前来说,200%整数放大能相对减弱一些旧软件造成的问题,比如能避免显示错位,还有因为win系统本身一些框架问题。比如图标,比如mfc,如果放弃这类,那win就少了大半可用资源,不放弃就因为可悲的所谓兼容性。wpf在以前q概念版就有了,qq概念版是多么久远的事,然后看现在的百度管家,还是渣渣一样不想支持,qq7.5以上是支持了。所以软件上是没法改变的,看各种开发商心态。自己能选择的就是要么低分屏,要么能200%还能实际可用的高分。

按照目前这情况,几年内都不会改善的。

Rank: 5Rank: 5Rank: 5

UID
3027779
帖子
1022
PB币
2134
贡献
0
技术
21
活跃
755
发表于 2015-12-6 15:10:23 |显示全部楼层
本帖最后由 依文 于 2015-12-6 22:12 编辑

关于这个问题的讨论,我大体上分为几部分来说:

Win32程序存在的问题

1. 传统的Win32程序使用硬编码的物理像素值来构建界面
传统的Win32程序上的各种界面元素都是以96DPI为基础,然后以此基准来定义固定的像素数值来设置界面元素的大小的。这种生硬的方式导致DPI缩放后容易产生各种错乱问题。


附上一些参考资料给你看看,摘录自《WPF编程宝典(第四版)》:
DPI 01.jpg



2. 传统的Win32程序没有布局概念
传统的Win32程序的布局是单纯依靠以窗口的左上角为基点,然后设定界面控件与左上角这个点之间的坐标位置来定义界面布局的。这导致当程序被DPI缩放后,部分控件与控件之间因为控件内容的大幅变化而产生了诸如控件重叠、布局错乱的问题。


3. 部分程序使用了超老旧的API
部分N年不更新的老程序很可能仍然是用户仍在使用的程序,而其中某部分这样的程序很可能使用了超老旧的API——比如TextOut文本函数,这个文本API函数不支持DPI虚拟化缩放。


Windows的解决方案


DPI虚拟化缩放
自从Windows Vista开始,Windows引入了DPI虚拟化缩放技术,该技术依赖于DWM,会自动为不兼容DPI缩放的程序采取像素缩放,确保界面布局不会产生问题,但界面文字必然会模糊。


附参考资料,摘录自《WPF编程宝典(第四版)》:
DPI 02.jpg



WPF界面编程技术
跟Vista同时推出的新界面编程技术——WPF,从设计之初就充分考虑了DPI缩放,分辨率无关的像素单位,灵活的布局系统,矢量的界面控件等等。想要拥有真真意义上的完美DPI缩放界面,就必须使用WPF。


关于Mac OSX的情况


1. 没有历史遗留问题
Mac OSX用户数很少,做起事来不需要顾忌什么向后兼容。经历过几次大刀阔斧的改动,引入了全新的界面框架Cocoa,强制程序一律使用它。这个Cocoa再怎么说都是新时代做出来的东西,比起Windows几十年前就诞生的User32/GDI32在适配DPI缩放的问题上肯定要轻松得多。而且虽然我并不了解Cocoa,但根据一些迹象表明,Cocoa似乎是有布局概念的。

2. 所谓4点合为1点的缩放方式只是另一种的DPI虚拟化缩放
Mac OSX的所谓4点合为1点的缩放方式本质上只是另一种的DPI虚拟化缩放,对于支持缩放的程序,系统告诉程序要放大2倍,对于不支持缩放的程序,系统谎称当前屏幕分辨率只是1280X800,让程序以96DPI来渲染界面,然后系统对界面执行2倍像素缩放,但界面会模糊。最后,由于屏幕像素密度为200DPI,在用户看起来,4个像素点就像1个像素点那样。
这本质上跟Windows的处理方式根本没有区别,支持缩放的就缩放,不支持缩放的就对程序谎报分辨率,让它先以正确的界面布局渲染界面,然后系统执行像素缩放。其实处理方式是一样的,只是苹果玩了个概念,在玩文字游戏而已。苹果对于不兼容的程序也是会模糊的。真正的区别在于Mac OSX的技术比较新(但不及WPF新),而且还是强制使用的,开发者想偷懒都不行,所以缩放起来根本不会产生什么问题。


Windows的可能性
曾经论坛里有位网友透露Win10搞了个新技术,对于不兼容的程序能够在DPI虚拟化的基础上再另外渲染出清晰的文字,然后覆盖上去,以此解决DPI虚拟化产生的文字模糊问题。但至今为止都没看见有这种技术,所以真实性还不得而知。微软也曾经2次都说过要写Blog文解释Win10在DPI缩放上的改进(第一次是在预览版10121发布后,第二次是10586快要发布的时候),结果微软2次都食言了,加上我在论坛曾看到有人提到软件界面渲染不全的现象,我推测微软很可能真的在搞这个新技术,但应该是这个问题太难搞,一次又一次地不能如期完成。总之,对于不兼容DPI缩放的程序能不能有所改善,只能寄望于这个消息的真实性,否则,就只有等Windows的生态彻底洗牌才会有好的体验。

Rank: 7Rank: 7Rank: 7

UID
793735
帖子
2669
PB币
10202
贡献
0
技术
5
活跃
1719

活动参与先锋 7周年庆典勋章 8周年庆典勋章

发表于 2015-12-6 16:07:12 |显示全部楼层
诸位的努力我看到了,只是,我的思路很简单,苹果也不是有什么神秘的做法,微软为啥不4和1像素做法呢,这样的话,如果不缩放,就变小呗,如果缩放,有的软件有变模糊,然后软件厂商升级一下不就行了。度过这个阶段,就像苹果当年过度retina的阶段,不就行了。

Rank: 5Rank: 5Rank: 5

UID
3027779
帖子
1022
PB币
2134
贡献
0
技术
21
活跃
755
发表于 2015-12-6 16:35:58 |显示全部楼层
longhornxp1 发表于 2015-12-6 16:07
诸位的努力我看到了,只是,我的思路很简单,苹果也不是有什么神秘的做法,微软为啥不4和1像素做法呢,这样 ...

你有理解到我上面说的话吗?所谓4合一只是玩文字游戏,跟Windows的DPI虚拟化缩放并无两样。

你总是抓住“整体缩放”这个词不放,你有理解到从你口中说出的这个词是多么的含糊、暧昧吗?所谓“整体缩放”,就是DPI缩放,但要达成这个效果,不是你随便说了一句“拉大”,然后界面就正确地拉大。最起码的一个条件就是要有布局系统。理想条件是像WPF那样既有布局系统,又在内部使用分辨率无关的像素单位。

现在Windows的状况就已经是你口中的能缩放则缩放,不能缩放则像素缩放(模糊)。

误导党、

Rank: 11Rank: 11Rank: 11

UID
749482
帖子
10847
PB币
17978
贡献
0
技术
98
活跃
2114

活动参与先锋 Win10先驱者 7周年庆典勋章 热心会员 远景技术达人 I'm Windows Phone用户

发表于 2015-12-6 17:39:21 来自手机 |显示全部楼层
依文 发表于 2015-12-6 16:35
你有理解到我上面说的话吗?所谓4合一只是玩文字游戏,跟Windows的DPI虚拟化缩放并无两样。

你总是抓住 ...

他不理解。无论是因为物理层面还是你说的系统布局层面。

毕竟苹果的高分都2560*1440或4096*2304这样。4合1,dpi200%,物理上显示来说,就没什么问题。14寸的1280*720还是21寸的2048*1152。ppi都是合理的。

就不需要再说系统界面布局了。wpf那些,一般人不关注。只看显示结果。

所以我倒希望10寸到12寸平板统统普及2560*1600这样的分辨率。

Rank: 1

UID
658171
帖子
56
PB币
114
贡献
0
技术
0
活跃
48
发表于 2015-12-6 21:28:23 |显示全部楼层
学习了,普及知识

不是所有的特仑苏都是牛奶

Rank: 9

UID
672519
帖子
3842
PB币
528
贡献
0
技术
48
活跃
1858

活动参与先锋 热心会员 7周年庆典勋章 远景美化达人 应用界

发表于 2015-12-7 13:03:24 来自手机 |显示全部楼层
不能上200DPI的都是伪高分屏 鉴定完毕

Rank: 5Rank: 5Rank: 5

UID
1955126
帖子
1094
PB币
1769
贡献
0
技术
21
活跃
1251
发表于 2015-12-7 16:55:27 |显示全部楼层
Windows面对的分辨率复杂程度不是Mac和iOS设备能比的。

Rank: 7Rank: 7Rank: 7

UID
793735
帖子
2669
PB币
10202
贡献
0
技术
5
活跃
1719

活动参与先锋 7周年庆典勋章 8周年庆典勋章

发表于 2015-12-7 18:19:37 |显示全部楼层
我相信,如果苹果如果采用微软这样125%,150%这样的方案,也很难,所以采用了这种整体2倍放大方案。如果微软采用也采用这种方案,至少现在的软件升级比较简单,过度阶段也很快。如果微软一直没有解决方案,我相信,有一天我会弃用微软,至少,retina对眼睛好太多。

Rank: 5Rank: 5Rank: 5

UID
3027779
帖子
1022
PB币
2134
贡献
0
技术
21
活跃
755
发表于 2015-12-7 19:01:13 |显示全部楼层
longhornxp1 发表于 2015-12-7 18:19
我相信,如果苹果如果采用微软这样125%,150%这样的方案,也很难,所以采用了这种整体2倍放大方案。如果微软 ...

不要太无知,WPF用几行代码就可以让你手动调整界面到任意倍数的缩放(不需要理会屏幕DPI)。说来说去你还是没明白,关键在于软件所用的界面技术,新技术做的界面轻松缩放,老掉牙的界面技术怎么搞都无法完美。

it格子创始人之一

Rank: 7Rank: 7Rank: 7

UID
2930326
帖子
2546
PB币
40
贡献
0
技术
8
活跃
531

活动参与先锋 十周年

发表于 2016-1-1 16:18:35 来自手机 |显示全部楼层
呵呵  放大200%? 下死我了  应该研究27 inch  5k的imac(late 2014) 即imac 15。1

Rank: 7Rank: 7Rank: 7

UID
2653907
帖子
1726
PB币
1594
贡献
0
技术
0
活跃
500

精解Windows 10

发表于 2016-1-1 17:05:24 |显示全部楼层
进来学习。。。
回顶部
Copyright (C) 2005-2021 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛