阅读视图

发现新文章,点击刷新页面。

浅谈苹果的命名困局:从Pro、Air说开去

西方语境中,13 不是一个好数字,背叛耶稣基督的犹大,据信是最后的晚餐餐桌上第 13 个就座的人。于是,西方人不喜欢数字 13 的传统一直延续到今天,很少有人宴客会邀请 13 个人,12 或 14 人都可以,13 不行。

不巧的是,9 月即将发布的新 iPhone,按照产品迭代,正好是 iPhone 13。苹果会考虑另一个名字来代替它吗?就像 iPhone X 那样?

具体选用哪个字母或数字,还要等到发布会才会揭晓。不过,回顾苹果产品线的命名史,其实可以窥见苹果虽然以简洁的市场文风著称,但有时仍会陷入不可解的命名困局。本文以 Mac、iPhone、iPad 三大产品线的命名演变史,来尝试还原苹果在开辟产品线及市场定位上的诸多困局与转变。

Mac:经典四象限命名,演变至今

之所以要先提 Mac(泛指苹果电脑产品线,下文同),是因为其 Pro 和 Air 命名影响了太多后来者。

后来者对苹果产品外观的模仿很容易让人理解,但为何连命名都要直接借鉴?原因无非两点,一是苹果自身的品牌跟进效应,二是这样的命名确实可以让消费者快速知晓产品线的特点与不同。

很明显, 无论是西文还是中文语境,Pro 让人联想到 Professional,主打专业与性能;Air 则让人联想到空气,主打轻薄便携。

这样精准、简洁的命名来源于乔布斯。

很长时间里,苹果都是作为一家电脑公司出现在人们视野,电脑产品线上根据「Apple」「Macintosh」延伸出多种多样的型号。

比如:

苹果之前种类繁多的产品线

1990 年,乔布斯重回苹果,他将苹果的产品线缩减为简单的四象限,横轴两边分别为「消费者」「专业」,竖轴两边分别为「便携」「桌面」。消费类产品带有前缀「i」,而「Power」则保留给专业级产品使用。

乔布斯当时的四象限命名法

这样的结果是:乔布斯的四象限命名法帮助苹果精简了产品命名上的诸多历史问题。

Power阵营 VS i 阵营

四象限的精妙之处在于,它可以明确每种产品的用途,让消费者一目了然。直到 2006 年,苹果都在沿用四象限命名法。

2006 年,苹果将电脑芯片从 Power 转向英特尔芯片阵营,这一年,除了 iMac 和 Mac mini 不变,其他所有的电脑名称都发生了变化。

面向消费者的 iBook 系列变成了 MacBook,面向专业消费者的 PowerBook 系列变成了 MacBook Pro,而面向专业消费者的 Power Mac 台式电脑系列变成了 Mac Pro。

消费者 VS专业消费者

乔布斯的四象限到此结束,Power 被 Pro 所取代,i 变成了 iOS 设备所专属(iPad、iPhone、iPod,除了 iMac),而在后面晚几年登场的 Watch、Pencil、TV,苹果重新沿用了 Apple 前缀,分别命名为 Apple Watch、Apple Pencil、Apple TV。(有意思的是,TV 最早代号是 iTV)

MacBook家族演变史

可以看出,乔布斯的第一次命名调整帮助苹果梳理了内部产品线,使之更为简洁,而第二次命名调整则是和公司整体战略相关。

iPhone:较为混乱,稍有秩序

Mac 作为生产力领域设备,同时模块化较强,无论是 CPU 强劲程度,显卡配置、屏幕尺寸都需要明确市场定位,从而可以让各种需求的消费者,能够快速找到适合自己的设备,这也是 Pro、Air 至今仍沿用的根本原因。

但是 iPhone 作为最为大众的消费类电子产品,大部分人关注的可能并不是性能,那苹果要如何做好市场定位及品宣,尽可能多地占据市场份额呢?

多品类出货无疑是最好的选择,但这也同样给 iPhone 带来了命名混乱。

其实,客观来说,从 2007 年的一代 iPhone 到现在的 iPhone 12,苹果起初定型于以每两年做一次数字迭代的方法命名新产品。(如一年 iPhone 5,下一年 iPhone 5S)

两年大迭代的频率持续到 iPhone 6 为止,也是在这一年(2014),各大手机厂商开始了大屏时代,这一年,新型号 iPhone 6 Plus 登场。

iPhone 6、iPhone 6 Plus

Plus 除了表示更大的屏幕之外,还有别于原版一些功能特性。如iPhone 7 Plus 相比 iPhone 7 ,多了一颗摄像头。

2015 年是让苹果开心的一年,这一年,iPhone 总销量达到历史巅峰 2.312 亿台,销售额达到 1550 亿美元。

或许是觉得「S」在人们眼里是小版本的修修补补,如何让抱着「下个版本见」的用户也加入换机浪潮,是苹果需要考虑的一大问题。于是,接下来,「S」不见了。

2016 年 iPhone 7 发布,2017 年 iPhone 8 发布,再也没有中间态「S」了。但是苹果手机的销量并没有因此而提升,反而持续下滑,2020 年营收下滑到 1377 亿美元。

苹果每季度营收情况,2015年开启了年度巅峰

2017 年 11 月,苹果在已经发布过 iPhone 8 的前提下,又发布了新机 iPhone X,直接跳过了 9 的命名。

而到了 2018 年,新机命名好像又回到了微更新「S」时代。

  • iPhone XS
  • iPhone XS Max

同时,Max 首次登场,这一年苹果手机销量逆势反弹到 1662 亿美元。

同年,苹果更新了 iPhone 5c 的继承品——iPhone XR,但 R 从何而来,我们目前找不到一个特别自洽的解释,只能说苹果希望表明它是「X」字辈,但又要和 XS 区分开。

这里值得注意的是,对于如 iPhone 5S 的「S」,iPhone XR的「R」,苹果习惯于将这样位置的字母,虽然大写,但是用更小的字体来展示,并外接边框,突出强调。

如:iPhone XS

iPhone XS 的S实为大写,只是字号变小

还有更早之前的 iPhone 3GS:

iPhone 3GS 的S

到了 2019 年,苹果的新机命名又发生了变化,引入 Mac 经典命名 Pro,并将大屏旗舰从 Max 改名为 Pro Max。

  • iPhone 11
  • iPhone 11 Pro
  • iPhone 11 Pro Max

新引入的 Pro 接棒原来的 Plus,而 Max 特指屏幕大一号。

2020 年,在 11 以往产品线的基础上,又添加了 iPhone 12 mini,作为大屏时代下的小屏补充。

  • iPhone 12
  • iPhone 12 Pro
  • iPhone 12 Pro Max
  • iPhone 12 mini

至此,iPhone 的产品线稳定下来。从命名上,可以看到,iPhone 的产品比 Mac 更为混乱,只能说少有秩序。

iPhone家族史

在苹果召开的 2021 秋季新品发布会上,我们看到同样的命名延续下来,也就不意外了。

  • iPhone 13
  • iPhone 13 Pro
  • iPhone 13 Pro Max
  • iPhone 13 mini

不过,发布会讲到iPhone 13 部分时,我们发现一个小细节——Pro 更加自成系列。

首先,iPhone 13 mini 和 iPhone 13 放在一起讲解。接着单独讲解人、单独过场动画的 Pro 系列登场。

苹果品宣 13 Pro 的点还是性能(A15 Bionic)、相机(前置深感、3摄等)、耐用性(外观、耐磨、耐腐蚀)、屏幕(Promotion、Oled、XDR),来包裹 Pro系列的核心关键词——专业性。

除了这些基本的参数讲解外,13 Pro 还引入电影导演的拍摄场景,来向用户传达:iPhone Pro 系列不是手机、是能干活的摄像机。

至此,苹果从 iPhone 11 推出 Pro 系列,经过三代演变,将乔布斯当时定下的消费者命名「i」,硬拉到「Pro」级别。使用的方法也非常简单,就是在硬件与生态领先后,为消费者打造出一种使用消费级产品,也能产出专业级内容的向往。

这种向往非常有鼓舞性:

尽管我不是大导演,只是一个普通人,但只要我做一件事,就有成为他们的可能,那就是购买 iPhone 13 Pro。

至此,iPhone的产品可以分为普通消费:

  • iPhone 13 mini
  • iPhone 13

以及专业级向往:

  • iPhone 13 Pro
  • iPhone 13 Pro Max

iPad:最为混乱,反正 Pro、Air 用起来没区别

如果说 iPhone 的命名演进看起来稍微有点混乱,那见识到 iPad 之后,或许你就释然了。

iPad 可以说是所有苹果设备中命名最为混乱的产品线,从 2010 年的 iPad 到 2011年 的 iPad 2 还规律可循。

2012 年,iPad 3 被命名为「全新 iPad」,作为首款配备 Retina 显示屏的iPad。这样的名字也着实敷衍,在产品角度,iPad 3 为了强上 Retina 屏,续航、重量、处理器、图形性能都差强人意,于是仅仅在存活 7 个月后,iPad 4 快速迭代了出来,三代随之停产。

iPad 4 名为「配备 Retina 显示屏的 iPad」,同时发布的还有第一代 iPad mini,当时,两台设备3天内共售出300万台,表现着实不凡。

2013年,iPad Air 发布,外观的改变促成了本次对 MacBook Air 的借名,iPad Air 仅厚 7.5毫米,重量从上代的 652g 速降至 469g,同时借鉴 iPad mini 的窄边框设计让 Air 更加名副其实,转年推出 iPad Air 2。

2015 年,最被苹果报以「生产力」期望的 iPad——iPad Pro 登场,2017年,iPad 基础版命名再次出现,不过这个时候,苹果的产品线终于已经稳定下来,入门款 iPad、轻薄款 iPad Air,性能版 iPad Pro,以及 iPad mini 同台竞技。

2017 年是一个分界线,这一年,iPad 的所有产品线后面都不再带有数字,如新推出的 iPad 改为 iPad(第 五 代),iPad Pro(第 二 代),这种只写产品线本名,将第几代弱化到详细说明中附属括号的表现方式,苹果沿用至今。

苹果主宣传页面并无括号后缀(第几代)

为什么 iPhone 命名会将产品名+第几代数字连写,而 iPad 不会,反而弱化到括号中?

苹果主宣传页面则保留命名代数数字

或许是因为 iPhone 是以一年的更新频率规律更新,且随之附带的 Pro、Max 等也会随之相应规律更新。但 iPad 并不是这样,可能今年的 9 月更新 iPad Air,也可能转年的 3 月更新,也可能好几年都不更新。用户没办法通过数字快速知晓在售的这台 iPad 到底是哪年的新品,而且 Pro、Air、mini 的后缀数字也早已不在同一起跑线上了。这样一来,为何不直接去掉第几代,让消费者认为当下的这台就是最新款,无需对比历史机型。

于是,在 iPad 这一产品线上,苹果根据市场反馈,细分出 iPad 基础版、Air 轻薄版、Pro性能版、 mini 便携版。但在数字命名上,苹果选择了弱化第几代的方式进行呈现。

在 2021 年的苹果新品发布会上,iPad mini 6 如期而至,尽管我们这样叫,但在官网的显示上,也早已将第几代写入括号中,并且不在官网主页面展示。

不过这样的产品线,到底是以满足不同用户的使用场景,还是只为了制造阶梯价格区间,收获更多利润,苹果或许陷入了一个两难境地。就以 Air 和 Pro 为例,iPad Air、Pro 之间的差别显然不如 MacBook Air、Pro 之间那样清晰。(MacBook Air 代表更轻的重量、MacBook Pro 代表更强的性能)

在 iPad 上所表现的的,11 寸(三代) iPad pro 重量为 466g,稍微比 iPad Air(四代)458g 重 8g 而已,但是厚度上,Pro 反而要比 Air 还要薄 0.2 毫米。实在体现不出来 iPad Air 的 Air 在哪里,再加上 iPad Pro 强硬件+弱软件的大马拉小车现状,也难以配得上 Pro 的称谓。

这样一来,iPad 的产品线定位更像一种价格阶梯,入门买 iPad,稍微预算高一些买 Air,想一步到位则买 Pro,尽管这三者,在目前移动办公、娱乐的使用差距上,真的很难拉开太大差距。

可以看出,乔布斯的四象限命名,已经在 iPad(亦可延展到苹果整体产品线)渐行渐远,无论是苹果刻意或无意为之,其产品线命名都在向营收导向而转型,苹果确实仍关心细分消费人群,只不过是从之前关心术业有专攻的不同需求人群,转为关心你口袋里的钞票是一张、五张、还是十张。在这里不禁要为 Mac 担心,美妙简洁且对消费者友好的四象限命名方式,还能维持多久?

定位困局,苹果求变成功了吗?

作为一家崇尚简洁的公司,可以看出,苹果相比其他厂商的命名已是十分克制,甚至对比其他厂商,苹果已然做的不错。

比如在 Lenovo 官网,可以看到,笔记本阵容分为 Thinkpad、ThinkBook、YOGA、LEGION 等五大产品线,仅在 Thinkpad 产品线下,就有将近 9 大系列,可以说是笔记本领域拥有最多 SKU 的厂商之一。

仅仅1个产品线下,就有9大系列,消费者如何挑选?

苹果的一个理念就是崇尚简洁,这种理念贯穿于其产品及对外宣传上,不过从产品命名上,却感觉苹果每次都很难考虑周全,有时做的好,有时做的一般。

在这里暂且举两个产品线消亡的例子,来一窥苹果更名背后的深层次原因。

12 寸 MacBook,难逃历史的车轮

第一个要提的产品是 MacBook(不带后缀)。2015 年,苹果发布 12 寸全新 MacBook,主打轻薄,去除了一切旧的物理接口,只留下 3.5mm 耳机插口与 Type-C 接口,移除风扇,厚度锐减到  1.31厘米,重量不到一公斤。然后于 2019 年 7 月从官网下架,空缺以新款 MacBook Air 代替。

苹果为什么要在已有 MacBook Air 的前提下,还推出 MacBook?并且为什么推出 4 年后反而砍掉?这还要回到当时的历史背景中去。

说回 MacBook Air,Air 产品线刚面世时,是绝对的高端产品线,价格甚至超过 Pro。但随后,Pro的产品形态也逐渐变得轻薄,Air 也就随之沦为 MacBook 系列中的低端型号,Air 于是不再走轻薄路线,但没让苹果想到的是,Air 的销量一直都非常不错。

于是,苹果认为,是时候重拾轻薄路线了,而在定位上,自然不会低端,因此,12 寸 MacBook 随之而来。

MacBook 不带后缀的产品线也非首次,早在 2007 年,苹果就有俗称「小白」的同名 MacBook 低端产品线,而 2015 年,苹果只是把这个产品线重拾了起来,并做了定位高端的品牌升级。

2007年推出的「小白」MacBook

而更重要的一点是,苹果当时推出 12 寸 MacBook 契机也到了。

当年,intel 的超低功耗处理器走向成熟,这类 CPU 的明显特点是 TDP(热设计功耗)功耗仅 5-7W,且不带风扇,于是,苹果认为超低功耗 CPU 该崛起了,且非常适合极致轻薄设备。于是,苹果在机械结构、设计上做了很多努力,蝶式键盘的 MacBook 就与我们见面了。

而后其退出历史舞台,也有很多综合性因素,例如蝶式键盘口碑很糟,intel 不再强力,更重要的是 M1 的出现,让 Air 直接可以去掉风扇,变得更为轻薄。这就导致高端型号 12 寸 MacBook 并没有与低端型号 Air 拉开差距。存在感变得越来越低,从而退出历史舞台。

iMac Pro,并非 Mac Pro 竞对?

另一个消亡的产品线是 iMac Pro,不过提及它之前,不得不吐槽下 iMac 的命名,如果以当时乔布斯的意图,i 明显是赋予消费类电子产品的专属命名,如现在的 iPhone、iPad 等产品,像 iMac 这样强劲性能的产品,赋予 i 标签,或许只是一个权益之计。

2017年,苹果推出 iMac Pro,杂糅的命名(i、Pro并存)、强大的性能(浮点运算能力 24Teraflops)、不菲的售价(4万)2021 年初该款产品停售。

一种很流行的观点认为:iMac Pro 与  Mac Pro 是竞争关系,而大多数人用不上售价昂贵、性能溢出的 iMac Pro。

工作站级别iMac Pro

但这样的答案显然站不住脚。首先 iMac Pro 是一体机,定位更高,Pro 更像是四象限失效后,修饰 iMac 的形容词,定位于给需求更高的设计师使用。

而 Mac Pro 是工作站,定位于给像 使用 CAD 这样工业工程的专业级用户使用,而且设备可拆卸、可升级。

iMac Pro退出历史舞台的真正原因,还是因为 M1 的出现。苹果的野心是自己电脑全线配备 M1,但这真的很难。

苹果毕竟不是芯片公司,不可能为每一个产品线定制化芯片,所以我们看到 MacBook 全线+iMac 都用上了 M1。

但在 iMac Pro 工作站上,还能沿用 M1 吗?M1 再强,定位也只是低功耗处理器,TDP 顶天30 W,这和工作站的高性能还有一段距离, iMac Pro 需要的是 M1 X 这样的更强心脏,TDP 至少上百瓦才配得上工业级工作站的定位。

所以,在高性能芯片没出来时,iMac Pro 的定位着实尴尬,强上 M1也不是不行,只不过那就会和 iMac 的定位冲突了。

一种乐观的预测是: iMac Pro 只是暂时下架,等 M1 X 或是 M2 诞生,那就是它与消费级产品拉开性能差距,王者归来的时候。

我们可以发现,任何时刻,一个产品线的兴起和衰亡,与芯片更加息息相关,市场反馈则次之,要不就是出现了更强的芯片,可以让新产品线发挥垂直优势,要不就是合适的芯片还没有出现,只能先暂时别过。

内在革新 VS 外在创新

最后值得说道的还有 iPhone ,iPhone 作为目前苹果最为为大众所熟知的产品线,贡献的收入比例决定了苹果必须为该产品线分配更多的市场营销脑力与预算。

iPhone营收仍占苹果6成以上份额

而一年一更新的苹果或许早已知道,电子产品的更新换代率和自己开新品发布会的频率总是对不上的,「凑活能用」的人们总比「永远用最新」的人要多。

如何让这一部分人乖乖掏钱,可以说是苹果最为头疼的问题,那就再开拓新的产品线吧,顺便赋予一个全新的名字,这样总比简单的数字迭代要看起来有购买欲望。

2014 年,面对大屏手机竞争,苹果开启全新型号 iphone 6 Plus 对抗安卓阵营,2015 年,小屏 SE 面世,这一年,iPhone 总销量达到历史巅峰 2.312 亿台,销售额达到 1550 亿美元。可是随后的 6 年里,苹果再也没有超过这个数字,无论是新型号 mini、Pro、Max 轮番登场,销量上,截止到 2020 年,iPhone 持续下降 14%,这是因为来自中国的竞争对手小米、华为等过于强劲了。

我们之所以无法在 Mac 市场上看到同样的命名突破,或许是因为 Mac 只占苹果 10%-20%的收入比例,同时对于专业人群,新的产品线,人们可能也并不那么感冒。

直到 2020 年,M1 芯片横空出世,告别 intel 之后,苹果为旗下 MacBook、iMac 注入更强劲的芯片,以真正实力再次获得消费者的认可,而不是市场营销层面的文字游戏。

2020年推出M1芯片Mac后,苹果Mac销量明显上涨

这或许告诉我们一个道理,尽管(内在本质)革新要比创新(外在方法)难,但想办法开拓更多的产品线,并赋予一个新名词,不如打磨好已有的产品线,能获得的认可会更稳定。

本文首发少数派,同步 WEB VIEW,感谢欧阳洋葱的内容支持。

2020还适合聊苹果吗?

突然发现,今年 WEB VEW 选题大多集中在苹果发布会,「苹果电台」称谓并不是空穴来风。

这样其实不好,一方面暴露了我们更新的懈怠,另一方面也显得选题匮乏,自己对于科技的理解也越来越迟钝。

而最重要的是,聊苹果,最好的时候或许已经过去了。

苹果不行了

虽然你所感知到的,无论是从媒体还是市场反馈上,苹果仍日中天。

这里说的不行主要是指,由于手机发展进入平台期,厂商们发现各种花样玩完之后,发展的方向大多雷同:更好的镜头,更好的芯片,以及要把它们塞进去的更厚机身。

苹果不是不好了,只是少了 iPhone 4 横空出世时的惊艳与革新,现在的硬件和软件更多是一种缝缝补补,给人带来的再也不是「哇,手机还能这样」,取而代之的是「手机不就应该这样吗」。

所以,作为我们节目的原始素材,耀眼的时代过去了,留给我们的,则是一个想法设法调整产业结构,保持收入稳定增长的优秀公司。

没有好食材,再好的厨子也难做出好菜。

聊苹果的人不行了

好厨子,食材不好,做不出好菜,差厨子就更不行了。

其实可以很骄傲的说,WEB VEW 的苹果节目,要比市面上大部分的播客要专业,这当然得益于嘉宾的知识沉淀和行业积累。

但是总聊,人就会疲倦,尤其是每次苹果都在堆硬件,我们好像很难再从产品、设计角度给出到位的评价。

当不断弱化对苹果的个人感受,重点放在普及行业知识,自然就会让节目缺少生气,缺乏「嗯,就是这样」的共鸣评价。

当然了,这取决于节目制作者的技术水平,毕竟拾苹果牙慧的是我们。

日本电影《红鳉鱼》中,北野武出演的立川谈志谈到批评家这一角色,是这样说的:

不好意思,我不相信评论家,没有人能比我更冷静地分析我自己了,还有,这些人的饭碗不是你决定的,他们要是有人能独当一面,出名了,是你靠评论他们的表演吃饭,你的饭碗是他们给的,把这个逻辑弄错可不好。

说苹果是饭碗,有点大了,不过说是节目选题与灵感来源,不夸张。

关注苹果的人不行了

2007 年,一个叫做 apple4us 的群体博客成立了,很多人在上面写介绍苹果的文章,交流自己对苹果的理解,有些作者名字你应该很熟悉:创新工场张亮、知乎创始人黄继新、一天世界李如一、周源、flypig、Rio 等。

可以说,那个时候的苹果是最具创新力的公司,而他们这些人无疑是当时的先行者,苹果作为一种先进互联网物料,被带给访问网站的人。

那个时候,无论作者、读者,还是苹果,都是先行者。

而当一个产品逐渐成功变为商品,先进的意义自然就褪色很多。地铁里,人们拿着苹果手机,连连看、抖音、微信、淘宝,这些通用 App,用 A14 还是 A13 芯片真的区别大吗?人们会关注这些吗?人们也应该关注这些吗?

当一个新生事物逐渐大众化,那它被关注、讨论的先行意义就不大了,而附属于它身上的延展话题也显得没那么有吸引力。

WEB VIEW 目前对于科技话题的探讨深度与广度并不低,不过对于当下,如何精准找到这一小部分愿意了解这些脱水知识的人,或许很难。而更大的一种可能性:作为缓解生存焦虑的 Knowledge Porn,我们还做得不错。

比Intel快2倍的传说,Mac用苹果处理器的一点想法

苹果 PowerPC 时代,我在上高中。那时有件事我印象很深刻。当时我们班有个很懂计算机的人,拿着一本计算机杂志,跟我安利 iMac G4,说你看这个电脑多好看啊,多牛逼啊,比 Windows 电脑不知道好看了多少倍。而且他还跟我强调说,你知道吗?这台电脑的 PowerPC 处理器比你们奔腾处理器快 2 倍。

我当时还是个高中生,根本不知道什么是 PowerPC,我当时就只知道 Intel 的奔腾处理器(还听说过 AMD),听他说完就觉得苹果好牛逼;而且他那么懂电脑,他说快 2 倍,那就应该是 2 倍吧。iMac G4 用的处理器是 IBM 的 PowerPC G4(具体应该是 PowerPC 7445 之类)…

iMac G4

苹果芯片的精准制导

其实“快 2 倍”这个说法,好像也是当年乔布斯在发布会上吹出来的(也可能是当年某本苹果杂志的编辑写出来的)。最早苹果在宣传广告中提到,PowerPC G3 比当时的奔腾 II 要快 2 倍;后续说 G4 比奔腾 III 快很多;G5 比奔腾 4 快很多。差不多就是这样。(我高中时期,时代一脚刚刚跨入到奔腾 4 等灯等灯)

当年乔布斯曾经公开对比过 Mac 和 Windows PC,对比的方式是双方自动执行一组 Photoshop 任务。当时 Mac 以快得多的速度完成工作,碾压奔腾处理器的 Windows PC……当年奔腾正在搞超长流水线,处理器主频不知道飞跃到哪里去了。PowerPC 那会儿走的线路更偏宽核心,频率是低很多的。苹果那一时期还做过一个叫“The Megahertz Myth”的宣传,主要就是教育公众,别迷信时钟频率。

Intel 奔腾 III 处理器

这事儿吧,其实有一定的道理。不过乔布斯的这次对比,PowerPC 的胜出,主要是因为 PowerPC G4 处理器配了个 AltiVec 加速单元,这是个 128bit 的矢量处理单元,可以单周期内执行 4 路单精度浮点数学运算(或者 16way 8bit/8way 16bit 之类),而且还是超标量设计,同时可以执行 2 个矢量操作。Photoshop 就能充分利用这个单元。AltiVec 效率比那会儿的 MMX 扩展指令要高。

就这个角度,也能一定程度解释,为什么现在的 iPad Pro 剪视频那么流畅,但桌面 PC 同等操作下却没那么快。这其实跟处理器设计的思路有很大关系。我觉得这么对比,并不存在什么公平不公平的问题。而且奔腾 4 当年在路子上的确出了比较大的问题。

只不过你不能就此得出一个结论说,PowerPC G4 就比奔腾 III/4 快多少。那现在,我们是不是也可以只对比一下充分利用 AVX512 的特定任务,来让 Intel 和 AMD 比比,后者会不会被 pia 出银河系吗?这是不合理的。

拿某些固定工作单元去比性能的意义,其实没那么大,尤其是对通用性很重要的 CPU 而言。这一例中,且不说究竟有多少程序代码能用上 AltiVec 单元(就像现在很多人质疑 AVX512,说用不到它);应该要比的还是日常消费用户比较频繁的操作,在效率上怎么样。苹果日常就非常善于呈现一些他想让你看到的数字,虽然没在说谎,但也未展示事物全貌。

MacBook Pro

我觉得,在 CPU 通用计算发展思路,该用的技术基本上都用过一遍以后(比如乱序执行、分支预测、超线程等近代技术),CPU 单线程性能推进本来就遇上了瓶颈。这时候是需要引入专用处理单元的,这也是一个常规思路——典型的像是在 GPU 领域,NVIDIA 为光线追踪引入了专用处理单元,这是提升性能和效率明显收益更高的方案。

苹果面向消费用户,或者目标群体时,一向都十分清楚自己需要针对硬件(或软件)做什么样的强化。所以事实上,苹果自己掌控处理器的设计,对目标群体的确是一件好事——就像它也掌控操作系统和软件一样。比如历史经验告诉我们,大量 Mac 用户用苹果电脑来剪片子,而 Final Cut Pro 在软件优化上的苹果平台加成,就是 Premiere 和 Davinci 都望尘莫及的,不管是视频编辑时的实时渲染、编码预览,还是输出速度。硬件层面为此若进一步做加成,还能再度提升效率。

iPad Pro 实现一些简单视频后期,效率明显比 x86 的 MacBook 更高,即是这一思路的集中体现。不过我也始终觉得,这种思路是有明确目标用户定位的。大部分人,并没有这些需求,如果我压根儿不用 Photoshop,那么像 AltiVec 这样的专用单元只能成为一种资源浪费。至于很多人,把这类思路解读为苹果在芯片设计上的黑科技,那也大可不必;毕竟 Intel 在服务人群的思路上和苹果是大相径庭的;就像高通也不可能面向 Android 阵营极为草率地,推出一颗性能与苹果 Ax SoC 相当的产品一样。

Arm 效率真的高过 x86 吗?

自从苹果宣布 Mac 要开始用 Apple Silicon,就一大堆媒体说了,看那个 iPad Pro 牛逼坏了——A12Z,一个功耗那么一点点的处理器,性能那么彪悍了,要是苹果给它提个主频、核心数,那岂不是立马把 Intel/AMD 之流轰出地球了吗?

有关这一点,早前的文章《MacBook 要采用 Arm 处理器,难度有多大?》我也用一个段落提到过,即 A12/A13 这些芯片的能效比,似乎还挺美好的。但实际上,如果苹果给这些芯片暴力提频,提到桌面处理器的程度,则其功耗和能效也会立马崩边——因为频率提升,越往后,给功耗带来的压力就会显著更大,而不是平缓变化的。当然我觉得这种描述略有些片面了。

我们还可以来看看 Cortex-X1 的设计——就是前不久 Arm 发布的一个微架构 IP。这个微架构被 Arm 设计出来的初衷,很大程度上就是面向高性能的。而且需要注意的是,它是以一定程度牺牲功耗和能效,来提升性能的——这跟 Cortex A78 的设计就很不一样。Cortex A78 是纯面向移动平台的那种传统核心,就是必须在 PPA 上做权衡,面积、性能、功耗都必须考虑在内,做到针对手机这类设备尽可能的最优解。

Arm Cortex-X1 与 Cortex-A78/A77 微架构性能对比。其实我也挺想说,CPU 层面增加一些扩展指令集的能力,包括上面这张图列出了机器学习性能提升,也表明:现在很多人认定,x86 CPU 增加 AVX512 这样的支持没有必要,是在浪费芯片尺寸和功耗(Linus Torvalds 为代表),而应该完全让专用处理器(比如 NPU、GPU)去处理这些事——这类想法可能是十分片面的

但 Cortex-X1 的指导思路就不是这样。Arm 给的一些数据是这样的:相比 A77 在相同频率下,X1 的峰值性能提升 30%。具体应用中,X1 的提升理论上还会更大,因为频率肯定比 A77 要高。不过 Arm 基本没提功耗和面积的事情。AnandTech 预计,X1 的核心大约会比 A78 大出 50%,包括 L1 L2 cache 部分;功耗估计也要多出这么多。

AnandTech 认为,在实际实施方案里,这个数字可能会更大,X1 的功耗可能会达到 A77/A78 的两倍;能效(energy efficiency)会比 A78 差大概 23% 左右。不过讲真的,这根本没什么大不了。Arm 现在大部队都期望去攻占 PC 平板市场,X1 也符合这种设定。

AnandTech(Andrei Frumusanu 博士)假想的一张图,可以表示 Cortex-X1 3GHz 5nm AT Projection(蓝色点状条)的能耗与绝对性能情况。这张图的左边柱状条表示的是 SPEC2006 测试全程消耗的能量(单位:焦耳),柱状条右边有两个数字,一个是平均功耗(单位:瓦特),另一个就是柱状条长度表示的能量(单位:焦耳)。右边柱状条则表示绝对性能,即跑分数字。

但这至少表明了 Arm 并没有什么黑科技,像很多人想象的那样,跟 Intel x86 比起来效率高到天上去——上面这些数据还是在台积电的 5nm 工艺不要出什么大纰漏的情况下;Arm 要做高性能,牺牲效率和功耗也是必须的,这事情真不像很多人想的那么简单,苹果做个高性能处理器就等比放大下 A 系列处理器就可以的。

之前我写 Mac 要用 Arm 处理器有多难的时候就提到过了,性能提升和功耗提升,这不是线性的关系。把 A12Z 提到 3GHz 频率,你看它功耗会崩到哪里去…

所以针对以上段落的总结是:苹果给 Mac 上自家芯片自然是好事——这里的“好”,体现在苹果收拢自家生态,Mac 迭代节奏也能完全掌握在自己手里;更重要的是,面向目标群体(比如做设计的、vlogger、搞摄影的等等)实现硬件层面更高效的支持,因为苹果可以更具针对性地去做硬件和芯片,Mac 设备的体验也因此可以更好。这也是苹果一直以来,对生态掌控力的固有经验——iPhone 即是这个思路下的产物。之所以等到现在,Mac 才使用 Apple Silicon,也是因为苹果现有的技术储备已经足够。

但这并不意味着,其芯片技术领先到了哪里去,更不表示 Arm 现如今在桌面市场比 x86 平台已经表现出了多大的技术优势。

番外:苹果需要做几颗处理器?

苹果用自家处理器,另一个我觉得挺现实的问题是,Mac 产品线有那么多不同的产品,比如 MacBook Air/Pro、iMac、Mac Pro 之类。如果要全线用自家芯片,那是不是要做一堆不同型号的处理器出来?

好吧,就算苹果能通过芯片体质的 binning 来自己划分个 A14-a,A14-b,A14-c 几个档位的 SoC 出来(比如针对较弱体质的就屏蔽掉两个核心之类的,或者用更低的频率,用在低端产品线上,那这样还节约了设计成本,桌面 CPU 本来也是这么搞的嘛)。问题是,Mac 一年的销量才多少(而且还要划分不同设备类型的不同芯片)?

Apple Silicon

之前的文章《摩尔定律失效,FPGA迎来黄金时代?》曾经提到,用尖端工艺去设计和制造芯片,所需耗费的成本不菲——这个成本并不是哪个行业都耗得起的,就算是汽车产品,其出货量也走不起最尖端工艺的量(汽车销量爆款能达到百万就很不错了)。iPhone 之所以能用自己的芯片,而且性能炸裂,一个很大的原因是 iPhone 的年销量非常高。所以苹果能走得起最先进制程工艺,比如现在的 7nm 制程。iPad 本质上是沾了 iPhone 的光,设计成本和制造成本都可以有效控制。

Mac 年销量才多少?开一个 5nm 的产线要多少钱?如果走不起量,就不可能用得起最先进的制程。去年 Mac 全产品线的销量是 1800 万台左右;iPhone 预期是在 1.9 亿部上下。这个就有 10 倍出货量差距。

如果给 Mac 重新设计高性能处理器,这里面的设计成本负担其实也非常高,尤其是配合每年的最先进制程——每年还要迭代,苹果又不是专门做芯片的,没有客户摊薄成本(这一点和 Intel、高通这些厂商就显著不同);生产成本已经说了,走不走得起这个量,我觉得有兴趣的同学可以算一下(苹果肯定也算过这笔账了,或者苹果有某种高端的解决方案,衰 O_o)。

当然苹果也可以不去刻意设计高性能处理器,比如跟 iPad 用一样的处理器,或者也就改个款,或者可能有什么黑科技,规模化放大设计(有了解芯片设计的朋友跟我说,有这样的可行性)…那我觉得这样的话,至少就现在来看,苹果的 A 系列芯片起码在通用性上,日常操作在 Intel 面前真没什么特别的效率、性能优势(虽然 Intel 现如今正在渡过自己非常难堪的一段时间)。

Mac Mini

另外,在 GPU 方面——看很多分析文章提到,未来苹果极有可能完全采用自家集成在 SoC 内部的 GPU,放弃 AMD 家的独立 GPU 设计——这一点从苹果现在的开发者文档能看出些端倪,AMD、NVIDIA 统统被苹果归到旧款 Mac 设备行列了,这也符合苹果一贯以来的尿性;毕竟苹果的 Metal API 也搞这么久了。如果是这样的话,Radeon GPU 还真是做了这么长时间的嫁衣——可见老黄不愿意支持苹果 Metal API 的决策是正确的…(逃

这篇文章谈的比较散了,真像 Intel 的软文——实际上,我的确不希望 Intel 在 PC 市场没落。

时代已经黑了

我常用的播客 App Castro 今天发了一条声明,表示自己被墙,国内已无法访问。

Castro的中英声明

而且,Castro 发完英文声明后,又用谷歌翻译发了一条中文声明,特意来告别它的中文用户。其中一句无心之语译得颇为传神:

时代已经黑了。

Castro 随后又发推文表示为使用谷歌的不当翻译道歉,但在大多数人看来,这大可不必。我想 Castro 本意是想表达客观环境太过黑暗与压抑(times are dark),而谷歌用直译(时代已经黑了)看起来只信达却不雅,但这种最直接、粗暴的蹩脚翻译反而将对现状的无奈与控诉放大到极致。

对于国外的泛用型播客客户端,大部分人的选择会集中在 Castro 和 Pocket Cast 二者。这两款我也都有使用,不过还是前者更能让我满意,Castro 类似邮件归档的产品形态确实更适合订阅大量播客的人。

Castro 被墙其实并不让人惊讶,因为不久前,它和 Pocket Cast 都被从国区下架。

Castro 发完这条推文之后,我也带了评论转发:

卡斯特罗不行了,切格瓦拉呢?

这让我想起很多年前的远古互联网,那个时候有个贴吧叫李毅吧。李毅是一名足球运动员,他的一些直言语录在当时经常招黑,但黑着黑着,人们就慢慢接受了他的这种处事态度。有人说,这是屌丝主义,还有人说,这是解构主义。

李毅说过太多的名人名言,但我记得印象最深的还是 2005 年,深圳健力宝教练迟尚斌和俱乐部、球员间龃龉丛生,最终下课。随后记者采访李毅,李毅沉吟后说:

天亮了。

聊聊新款 MacBook Air 的 CPU 与奇葩散热设计

关注苹果 MacBook Air 产品线的同学应该知道,从前两年开始,MacBook Air 已经换上了 retina 显示屏,设计也改头换面了。不过在产品线布局上,MacBook 系列发生了一些变化:12 寸 MacBook 已经退出人们视野(这个产品系列应该已经开始和 iPad Pro 打架了,所以退出也是必然的),MacBook Air 正式接棒了 12 寸 MacBook 的 fanless 无风扇设计。

说是无风扇设计,其实 MacBook Air 还是有风扇的,只不过这个设计相当奇特——后面我们再谈。但有一个核心资讯是 MacBook Air 用户需要在意的:如今的 MacBook Air 全部采用 Intel 超低压酷睿 Y 系列处理器。注意是超低压,而不是低压 U 系列(MacBook Pro 13″ 一直在用低压 U 系列)。也就是说,MacBook Air 已经正式成为 Mac 家族中性能最弱的设备,加上其价格——尤其 2020 款 MacBook Air 起价 7999 元,MacBook Air 成为了 Mac 系列中最低端的一个系列。

这也算是产品布局的一个精准调整了,当年乔布斯从信封里拿出 MacBook Air 之时,这个产品的价格可实在是不菲的,定位绝对不亚于 MacBook Pro。

这篇文章面向轻度技术爱好者,并且具备一定的导购价值,各位可酌情阅读。不想看我乱弹的,可以直接拉到本文最后看结论。

img
MacBook Air

无风扇设计?

国外很多媒体说 MacBook Air 是 fanless 的,当然我们拆机就知道这个说法是不正确的。MacBook Air 还是在内部配了一枚风扇的。不过实际上,在很多人的理解中,Intel 的超低压 Y 系列处理器,的确可以不配风扇,比如当年的 12 寸 MacBook 就没有风扇。

今年 Intel 超低压酷睿 Y 系列处理器由于首次提升到了四核心,所以 TDP 提至 9W,看起来已经和低压 U 系列的 TDP 15W 非常接近了。TDP 功耗上的差异,也让酷睿 Y 系列和 U 系列在起步的基频(base clock)方面就不大一样,Y 系列普遍的基础频率在 1.x GHz 的程度(现在的基频可认为是在 TDP 功耗下,CPU 全核可长时间坚挺的一个频率)。两者的睿频好像差不多。

这两者更具体的差别,我没有具体去研究,但至少包括 cache 大小差异,以及 I/O 方面的区别:比如就第十代酷睿而言,Y 系列的 PCH 高速 I/O 通道是 14 条,而 U 系列是 16 条;Y 系列核心部分支持的 USB-C 接口数量会略少;还有包括 Y 系列不支持 DDR4(而只支持 LPDDR4x);至于核显,两者都是 Iris Plus(GT2?),在规模上官方标的都是至多 64 EU,不过不知道在频率方面是否有差别之类。[1]

总之,MacBook Air 现在在用的处理器是一种更省电的方案。TDP 9W 听起来好像的确可以不需要风扇了,人隔壁 iPad Pro 的 A12X 大概 7、8W 的平均功耗就没风扇。当然了,这里咱不说,这个 TDP 本身现在所具备的参考价值可能越来越脱离于其原本热设计功耗的意义,毕竟现在大家都把睿频当基频在看,连什么 cTDP up/down 之类的数据看起来都不靠谱。

img
来源:iFixit[2]

不过 MacBook Air 从改头换面以来的风扇设计就相当之奇特,上面这张图是 2018 款 MacBook Air 拆开后壳以后的内部结构图。内部左上角位置显然就有风扇,不过你知道 CPU 在哪儿吗?CPU 本尊并不在风扇附近,而在中央那块散热片下面,下图用红框将其标出了。

img
CPU 上方的散热片

需要注意的是,从各种拆解来看,CPU 之上并没有一根导热管连接至风扇。那么这枚风扇究竟在给谁降温?迷之风扇!针对这个问题,我查了一些资料,发现网上对此的猜测颇多。YouTube 有一些技术向的 up 主提到,这颗孤独的风扇 “just for ventilation”,它负责带走 MacBook Air 内部主板的整体热量,而且在内外造成气压差,这样内部也会主动“吸入”一些冷风。

Reddit 上面也有一张帖子是专门讨论此事的[3]:这张帖子是针对 2019 款的 MacBook Air,表明这种设计后续没有变。这张帖子里有人提到,这种设计可能是依赖于内部的密闭结构,空气流向通路上会带到 CPU 上方的散热片。不过无论如何,这种设计针对 CPU 的散热效率都是比较低的,可能与 MacBook Air 追求极致轻薄有关(但实际上我们后面还会提到,MacBook Air 如今真的不能算薄)。

单就 CPU 而言,这还真的算是 fanless,因为虽然有风扇但却不是针对 CPU 的;所以 CPU 真的仍然可以说是被动散热;或许在超低压处理器范畴内,这种设计是合理的,真的是这样吗?

与 MacBook Pro 的性能差距

网上已经有部分 up 主,包括上周我在参与 WEB VIEW 的播客节目时,都谈到了,今年的 MacBook Air 真的十分超值;主要是因为 SSD 最低容量升级到 256GB,内存也换用了 LPDDR4x,存储性能会有较大提升(虽然 MacBook Air 的 SSD 速度一直以来都比 MacBook Pro 慢一截);另外就是处理器更新到了酷睿十代,除了最低配的酷睿 i3,更高 i5 配置都开始改用四核处理器(所以苹果宣称快 1 倍),核显也明显上了一个台阶。而且,价格更便宜。

就纸面数字来看,我之前甚至还提到,2020 MacBook Air 已经比 2019 MacBook Pro 13″ 更牛了。不过当时我并没有意识到,2020 MacBook Air 用的虽然是四核处理器,但却是超低压版的酷睿 Y 系列。而 MacBook Pro 用的是低压酷睿 U 系列(2019 款 MacBook Pro 13″ 用的八代酷睿低压 U 系列)。那么除了 TDP 功耗数字差异,这两者到底如今是个什么样的关系呢?

img
2020 与 2019 款 MacBook Air 内部结构对比,来源:Max Tech

另外,Max Tech 的拆解已经提到,2020 MacBook Air 仍在沿用以前的模具(chassis),所以上述这种加了个风扇,但不吹 CPU 的设计仍然存在,如上图所示。

Intel 酷睿 Y 系列四核处理器,没风扇能镇压吗?其实从理论上来说问题也不大,被动散热中的典范是 Surface Pro。之前我花了很大的篇幅来探讨无风扇的 Surface Pro 性能如何,结论是无风扇的 Surface Pro 相比同配其他有风扇的超级本,持续性能差距大约有 25%[4]。即便如此,Surface Pro 的表现依然令人满意,可以认为是被动散热设计中的楷模。而且 Surface Pro 用的还是酷睿 U 系列即低压版的处理器,MacBook Air 用的 Y 系列更不成问题了吧?

就已公开的情报来看,2020 MacBook Air 最低配的酷睿 i3 处理器具体型号为 Core i3-1000NG4,酷睿 i5 处理器具体型号为 Core i5-1030NG7。从这个型号就不难发现,这并非 Intel 公开在售的版本,“N”应该特别指代这是给苹果的特供版,或者合作开发版之类。具体跟公开版本的 Core i3-1000G4、Core i5-1030G7 有何区别,我们就不知道了。

市面上貌似还没有可参照对比的十代酷睿 Y 系处理器实际性能,所以我们就只能看 2020 MacBook Air 自己的实际表现了。严肃技术向的科技媒体还没有十分严谨的测试数据——NBC 的数据库里面也还没有这几款 CPU 的成绩,这里我捡一些不够可靠的分数,都是 CineBench R20 测试:

Luke Miani 给 MacBook Air 酷睿 i3 版(Core i3-1000NG4,双核)的测试得分为 640 分,酷睿 i5 版(Core i5-1030NG7,四核)测试得分大约在 1060 分左右 ;但 Max Tech 针对酷睿 i5 版的测试得分一次是 863 分,一次是 1019 分 ——我猜这可能与设备测试前的运行状态有关(真心是不负责任的 up 主啊!),这里的 863 分很有可能是持续性能成绩,而超过 1000 分的成绩则是在设备温度较低时第一第二轮跑分能够获得的成绩。

img
MacBook Air 与 MacBook Pro 13″ 的 CineBench 测试成绩

毕竟不是什么正经测试,那我们就取个中间值吧:960 分——恰好和一家日本测试站点 PC Watch 给的结果差不多 [7]。上一代的酷睿 i5 版(Core i5-8210Y) MacBook Air 的 CineBench R20 得分为 632 分[8]。所以粗略估算,2020 MacBook Air 酷睿 i5 版相比上一代的 CPU 性能提升幅度大约是 52%-60%,也算是很给力的成绩了(知乎上貌似有数据说是提升 200%,不知这个数据是怎么来的;另 Geekbench 5 多核测试成绩有将近 80% 的性能提升)。当然我们暂时还没有机会了解多轮测试的持续性能表现。

不过这个成绩相较酷睿低压版 U 系列处理器还是有着相当大的差距,比如 MacBook Pro 13″。这里放上 2019 款 MacBook Pro 13″(Core i5-8279U,八代酷睿低压处理器)以及我自己测试的 Surface Laptop 3(Core i5-1035G7,十代酷睿低压处理器)成绩对照,如上图。

GPU 核显部分其实也是这次提升的一个亮点,尤其酷睿 i5 版用上了满血的 64 EU(不过考虑到 Y 系列超低压处理器的 TDP 限制,我猜其图形性能应该还是会低于 U 系列的低压版)。不过那些 up 主的数据感觉都偏离很大,而且也不标测试工具版本和测试环境。PC Watch 给的数据是,Unigine Valley Benchmark 1.0 测试中,2020 MacBook Air 相比上一代平均帧率提升将近 1 倍——这也基本符合我们对于这次 Iris Plus 提升的认知。在 Max Tech 的 Geekbench 5 Metal 测试中,2020 MacBook Air 相比上一代得分大约有 1.2 倍的提升。

其实针对 GPU,也很想加入 Surface Laptop 3 对照(就能看看同样是满血版 G7,低压版和超低压版上的 Iris Plus 核显有什么差别了),不过这些媒体完全不说测试对象,比如测试 API 是否用的 OpenGL,高画质、抗锯齿与否等,所以我也没法测(而且我的测试也一向那么那么不严谨O_o)。不过从早前笔吧的十代酷睿核显测试来看,GPU 性能提升的确很多,但实际使用却没有这么给力,原因应该是当 CPU 也一同跑起来的时候,CPU 和 GPU 会开始争抢主内存资源,造成数据带宽瓶颈——这在一些需要较多调度 CPU 的游戏中就能体现出来。

img
MacBook Something…

这里再多插一句,看到有人对比 Unigine Heaven 测试,2020 MacBook Air 最终平均帧率 8.8 帧,2019 MacBook Pro 13″ 平均帧率 10.9 帧。这个数据仅供参考,或与 eDRAM,以及后者 28W TDP 有关。

如果我们只看 CPU 性能的话,即便和 2019 款 MacBook Pro 13″(中配 Core i5-8279U)比,2020 MacBook Air 都有着比较大的差距,两者 CineBench R20 多核性能差距在 58-65% 左右。而且由于散热设计上的差异,持续性能理论上还会拉开更大的差距。

说白了,新款 MacBook Air 在性能上仍然是弱鸡,只不过的确比上一版提升很多。与竞品比较的话,其性能和 Surface Pro 7 甚至都有较大差距,这两者还都是被动散热(MacBook Air 的“被动”散热打个引号);而价格其实还差不多。

超低压 CPU 的发热很低吗?

在之前我们探讨过低压 CPU 的实质以后,我愈发觉得,其实超低压和低压 CPU 的区别,可能本质上也还是比较小的——只在于给了一个人为限制的 TDP,便有了更小的基频。如果不考虑功耗墙和温度墙,那么这两者大概就仅剩 I/O 的那点差别了(未深入考察,纯个人 YY,别当真)。

从 Max Tech 的发热测试来看,在 2020 MacBook Air(Core i5 版)跑 CineBench R20 的时候,四核全开,短时睿频可蹿升至 2.4-2.7GHz,此时的功率大约为 13W(在 Max Tech 刚刚更新的测试中,据说功率可以一度达到 26W,全核在极短时间内达到更高频率[10]。这还是超低压 CPU 的节奏吗???或者苹果的确对其间限制做了改动);但似乎在极短时间内(具体多久不知道)就撞了温度墙,CPU 核心温度很快蹿升到了 100℃,全核心便降到 1.5GHz 左右。

这个时候如果能有主动散热来努力一把,那么睿频还是可以坚持更长时间的。只不过前面也提到了,MacBook Air 如今的散热设计比较奇特,那个独立的小风扇依靠坚强的毅力来为散热片吹风。

另外,MacBook 轻薄本(主要包括 MacBook Air 和 MacBook Pro 13″)在散热设计上还一直有个传统,即宁可降低频率,也要让风扇保持安静。所以 MacBook 用户应该会发现,风扇是几乎不发出声音的,这大概也算保证体验的一种方案吧。有兴趣的同学可以去看看 Linus Tech Tips 做的一个视频 “Macs are SLOWER than PCs. Here’s why.”[9],里面提到了 MacBook Pro 在 macOS 系统下这种调节机制的特性(不过 Linus Tech 一直是著名果黑)。

似乎苹果更相信,让风扇尽可能保持低转速,而在一定限度内牺牲性能,是一种可达成体验加成的方式(其实我也这么认为…)。实际上 2020 MacBook Air 的情况也很类似,即 CineBench R20 测试期间,所有核心全开,CPU 核心温度到 100℃ 了,风扇转速也才 4000RPM(全速是 8000RPM)——不过由于这风扇离 CPU 这么远,估计就算转更快、效果也就那样了。

而苹果在 Mac 设备散热上的黑历史,也实在是一言难尽;也包括大尺寸的 MacBook Pro 移动工作站。实际上,苹果在寻找散热设计与极致轻薄间的平衡点时,指针始终在向后者偏移。或许在苹果看来,如果你那么在意性能,为什么不买个台式机呢?好像也有点道理。

img
Intel Core Ice Lake

OEM 厂商的市场定位把戏

看看,MacBook Air 性能和 MacBook Pro 13″ 还是存在实质上的差距的(更不用提屏幕亮度和色域覆盖差别)。所以以更低的价格购买一台 MacBook Air,你并不能获得 MacBook Pro 13″ 那样的硬件水准。而且实际上,追求轻薄性的各位不妨去苹果官网看一看 MacBook Pro 13″ 与 MacBook Air 在重量和厚度上的差别,这两者不仅最厚处是一样厚的,而且 Pro 只比 Air 稍重了一点点(当然 Air 还有楔形设计)…

在市场策略上,以 Intel 酷睿超低压处理器(Y 系列,MacBook Air)与低压处理器(U 系列,MacBook Pro 13″)拉开性能差距,再加上前者散热上的负优化(误),这两条线的产品不会存在性能上打架的情况。另外,如果今年 MacBook Pro 13″(或 14″)开始采用 AMD Ryzen 4000 处理器,则这种差距还能被进一步拉大。于是,MacBook Air 成为名副其实 Mac 系列产品中性能最差的存在,优势就是价格便宜。

从 OEM 厂商的层面做产品定位的明确差别,还有一例其实是微软。Surface Pro 的酷睿 i5 版不带风扇,而酷睿 i7 版带风扇——原本在低压处理器这个层面上,酷睿 i5 和 i7 的性能差距是相当小的(除了这次核显规模上选择的差别),不过微软在这个散热抉择间,硬生生让 i7 比 i5 性能提了一档,这才是让选择了酷睿 i7 的 Surface Pro 用户真正感觉物有所值的一种方法…(至于 i5,那就当时静音体验吧)花样还真是多。

最后,给出本文的一些推论:

  1. 2020 MacBook Air 性能比 2019 MacBook Pro 仍然有着很大差距;
  2. 2020 MacBook Air 模具没换,仍然用了 2019 款的设计;
  3. 如今 MacBook Air 的散热设计是个悲剧,而且非常奇特(虽然有风扇,但 CPU 依然算是被动散热);
  4. 相比上一代 MacBook Air,2020 MacBook Air 的 CPU(多核)性能提升至少 60%,图形算力提升 100%(实际可能没有);
  5. 导购建议 1:如果你在意性能的话,不要考虑 MacBook Air;如果你在意轻薄性的话,也不要考虑 MacBook Air,因为 MacBook Pro 13″ 其实和 MacBook Air 的厚度、重量差不多;
  6. 导购建议 2:如果你是旧版 MacBook Air 用户,那么十分推荐升级,因为这次的硬件提升十分给力!
  7. 导购建议 3:不建议购买最低配 Core i3 款 MacBook Air,因为 i3 款仍在使用双核,而多加点钱就能用上四核。

参考来源:

[1]Intelligent Performance 10th Gen Intel® Core™ Processors Brief – Intel
[2]MacBook Air 13″ Retina 2018 Teardown – iFixit
[3]New macbook air fan cooling system doesn’t make sense – Reddit
[4]聊聊无风扇的Surface Pro:性能比一般笔记本差多少? – WEB VIEW
[5]The CHEAPEST MacBook is better than ever: Base model 2020 MacBook Air – Luke Miani
[6]2020 MacBook Air Benchmarks & Thermal Throttling Tested! – Max Tech
[7]「MacBook Air 2020」を一足早く開封。前モデルと性能を簡単に比較してみた – PC Watch
[8]Intel Core i5-8210Y – Benchmark and Specs – cpu-monkey
[9]Macs are SLOWER than PCs. Here’s why. – Linus Tech Tips
[10]2019 vs 2020 MacBook Air – Every Difference Tested! – Max Tech

只能在微信里「到处说」吗?

《人物》关于艾芬医生的这篇报道,又一次激起了人们的愤怒,报道在微信被删后,网民开始用各种方式「接力」编辑,表情符号、古中文、日语、韩语、倒写等各种方式重新在微信公号发出,发出来别人能否看懂已经不重要,重要的是用这种形式表达反抗。

艾芬在采访中表示,自己不是吹哨人,而是发哨人。下面这句有点粗暴的话语比较能代表她的态度,也在网上广为传播:

早知道有今天,我管他批评不批评,老子到处说,是不是?

前期防控疫情不力,遮掩,导致疫情严重扩散,病人难受,被隔离的普通人失去了正常生活,也跟着难受。

于是,人们在看到这些人,为我们发声,用自己的专业知识提前预警,反而受到了不公待遇,自然会产生怒火。或者说,这是一种典型的愤怒剧本:古代君主听信小人谗言,误杀良将,导致民不聊生。当有人把小人污蔑良将的全过程还原时,人们自然愤怒难当。

阵地只有微信了吗?

以上可以理解,但下面的不好理解,也容易被忽视:为什么网民的接力「到处说」,仅仅局限在微信中?

一个公号倒下了,另一个公号站起来,以此类推。但为什么我们的互联网阵地现在只有微信一个了,这是从什么时候开始的?

虽不是从这几年才开始,但微信确实是一个标志。随着人们习惯在微信看东西,写东西,而不只是聊天。微信的账号体系也逐渐融合订阅关系,加上完善的广告变现路径,这是博客的进步,也是 RSS 订阅制的进步。除了外链和审查之外,公众号是优秀的产品。

我们其实大多时候可以容忍这两个缺点。或者说不知不觉,为了方便,主动去拥抱这样一种阅读、写作关系。

只不过,这两个缺点概括下来,就是不自由。

自由并不是无拘无束,什么都可以干,而要在一定界限内试探,知道哪些事不能做,哪些事能做。

微信有监管,但并不是法律条例那种层面的监管。所以尽管你看到某篇文被删后,显示的红色感叹号及说明文案,你仍很难知道文章中的哪些字是不应该发的。只能猜测,那些容易引起大多数人负面情绪的文字就是「违规」的,而微信作为平台方,有最后的裁决权,用户,写作者则是弱势的一方。

有必要而且很重要的纸飞机

现在,微信已经完全等于互联网了吗?差不多是的,就像网民的身份证一样,微信把人们的吃喝玩乐基本上都筐进去了。

还记得,某社交产品,某协作产品被微信「封杀」,指的就是不能在微信中分享其链接,当然,人们可以复制链接到浏览器打开,但是这样古老又不方便的习惯,人们或许已经不记得,不适应了。

人们爱谈微信红利,都希望从中借力,增长自己的产品。而且大势所趋,不是每个人都会自己建网站,也不是每个人都会折腾自己的网络设置来开心上网,也没必要。

如果一个东西没必要,我们确实不应该做。但如果有必要,而且还很重要,我们只是忘了技术实现以及它的名字,那就应该再将它提上日程。

疫情期间,很多公益组织用协同文档写防范手册;用协同表格收集需要帮助人的信息,并对接;那些被删掉的报道,也会以「公开」「可读」的协同文档存档传播。其实这就是 Web,只是大家现在不怎么提了而已。

image-20200312222627141
协同文档用作求助信息平台

Web 并不只是一个网页,一个公开文档,而更像是一封信,人们在上面写写画画,然后折成纸飞机,飞到另外一个人手里,再飞到更多人手里,让更多的人分享知识与信息,而且,扔飞机时,没有人拦你胳膊,抢你飞机,这就是 Web。

所以,如果下次还有类似的接力「到处说」,能不能好好回忆下,我们的阵地可能不止微信一个,我们还有 Web,技术好像也没那么难,那些会用协同文档的人,能不能试试通过这些页面分享给别人,除了微信,还有 QQ,短信,甚至电话,面谈。

最重要的是,我们要认清,我们不只有一个阵地,也确实需要更多的阵地,集中抱团是最危险的行为,因为这样,对方一个大炮,我们就被轻易消灭了。

Surface Book 真的是高性能笔记本吗?

在笔记本或者超级本市场上,处理器有个概念叫“低压”,再转义一下也就是 TDP 功耗比较低的处理器。低压 CPU 一般是专为超级本设计的,它所专注的市场在低功耗、高能效比、长续航,以及不可避免的就是性能更差。

之前针对无风扇 Surface 的分析文章里,我大致提到了低压 CPU 的性能表现怎么样,其实很大程度受制于 PC 本身的散热设计[1]。“超级本”这个产品门类本来就十分考验 OEM 厂商的系统与散热设计能力,因为超级本必须很轻、很薄,这与散热系统越大越好是相悖的。所以在合理的空间内做到高效的散热(与科学的 CPU 频率调节),让 CPU 在更长时间内处在低温环境里,那么其持续性能就会明显更好。

在我之前的那篇文章里,我们还提到了 PL1/PL2 长时与短时睿频时间的问题。现在很多的酷睿 i7 低压超级本,在一个较短的时间里,都允许低压 CPU 将 TDP 功耗临时抬升到 45W/51W 这种水平。也就是在很短的时间里,这些低压超级本有一个变身为标压笔记本的机会——有时是半分钟不到,有时是几秒钟。那么至少在这几秒的时间内,低压 CPU 就成了标压 CPU,性能有了与标压 CPU 短时竞争的机会。

那么如果我们假定有这样一款超级本,散热设计逆天,而且我们还不用考虑功耗、续航的问题,那么当低压 CPU 的睿频时间无限久时,它是否就已经成为了一款标压 CPU 呢?或者说,如果把一颗低压 CPU 塞进一台散热设计十分出色、热设计功耗限制比较小的游戏本里,它是否可以当做一颗标压 CPU 来用?因为镇压其温度蹿升的散热系统已经完全可以承受住其睿频的发热了。

img
Surface Laptop 3

为什么 MacBook Pro 13 那么早就有雷电接口?

实际上,这个想法虽然有一些问题,但似乎还真是有一定的可操作性。当代比较知名的一个具体产品是微星 Prestige 15,这是一款采用十代酷睿低压处理器(Core i7-10710U,六核心)的笔记本,虽然配了 GTX 1650 Max-Q 这样的独显,但它从三围到可移动性,都不是一台高性能笔记本或者游戏本(好像对 Max-Q 来说算是废话)。

现在很多厂商都喜欢推某一类中间形态的产品,即轻薄性比不上真正的超级本,性能比不上游戏本或者移动工作站,但处在某种中间状态:即它仍有轻薄性可言,但也有性能可宣传(不过貌似很多同类产品多考虑采用标压移动 CPU)。Dell、Razer 之类都有类似的产品,价格其实也是比较高的。

Prestige 15 的特点就是心怀一颗低压 CPU,但其持续性能发挥和标压的酷睿 i7-9xxxH 系列差不多。这和这台笔记本的散热设计、调节机制之类是分不开的,让低压处理器在绝大部分任务场景中发挥出标压处理器的水平。

只不过当超级本十分轻薄时,这种条件是难以达成的,尤其是局促空间的散热和续航要求就不允许。而且除了上述差异外,至少我所见移动低压 CPU 与标压 CPU 还有两个很大的差别:

  1. 低压 CPU 更贵
  2. 低压 CPU 还阉割了一些 I/O 控制器

说得有逼格一些,I/O 属于 uncore 部分——Intel 针对低压 CPU 的 I/O 阉割似乎是一路推进的。uncore 的部分阉割,让 CPU 核心部分能够分得更多功耗资源,这对低压 CPU 这种资源原本就比较紧张的产品来说也是重要的。

img
Thunderbolt 接口

如果你有在关注 Intel 在低压处理器上的变化应该就知道,Intel 直到如今的第十代酷睿(Ice Lake)才加入了对 Thunderbolt 雷电的支持(同期还有支持 Wi-Fi 6)。估计对很多人来说,雷电接口根本就不重要(比如我),所以不会关注这种问题(甚至觉得 I/O 什么的,也不是很重要)。

不过其实我们仔细想一想,同样采用低压处理器的苹果 MacBook Pro 13′ 似乎从 2016 年开始就有雷电接口了,所以这是怎么做到的?

在当代已经不怎么说“北桥”和“南桥”的时候,有个叫 PCH(Platform Controller Hub)的东西就出现了——最早可以追溯到 2008 年。PCH 可以看做是南桥的“迭代”,很大一部分 I/O 功能是在 PCH 上面分配的。比如下面这张图,比较小的那一块 die 就是 PCH(现在应该不会以这种形态出现了)——这颗 PCH 芯片跟 CPU 是封装在一个基板上的,PCH 也可以独立放在主板上。

img
PCH 与 CPU

对当代低压 CPU 来说,PCH 是集成在整个封装上的(似乎是从 Haswell 开始的),而不是像标压 CPU 那样采用独立 PCH 的形式。PCH 这部分一般相较 CPU 本身,会采用差一代的制造工艺,比如十代 Ice Lake 酷睿 CPU 的 PCH 用的就是 14nm 工艺,而非主体部分的 10nm。

图1:2016 年末款 MacBook Pro 15′ 的 I/O 分配
img
图 2:2016 年末款 MacBook Pro 13′ 的 I/O 分配

上面这两张图是 2016 年末 15 寸与 13 寸版 MacBook Pro 在 PCH 与 I/O 上的分配。需要注意的是 15 寸的 MacBook Pro 使用的并非低压版 CPU(图 1),而 13 寸则为低压版 CPU(图 2,所以 13 寸的 MacBook Pro 其实一点也不 Pro)。不难发现,当时的第六代酷睿(Skylake)低压处理器自身连 PCIe 通道都没有,而 PCIe 控制器是挂在 PCH 上面的——当时的标压版 CPU 没有这方面的限制。

所以早期 MacBook Pro 13′ 的雷电接口是依托于 PCH 实现的。而且这其中还有两件事值得一提:对标压 CPU 而言,PCH 与 CPU 的连接采用 DMI x4,基本等同于 PCIe 3.0 x4——这真的只能算是个小水管,不过其实问题不算太大,因为标压 CPU 本身不需要依赖 PCH 就有可直连独立 GPU 的通道(当然还有内存控制器),还有额外的 PCIe 通道可支持雷电接口之类;PCH 则负责 SSD 存储、低速 USB、WiFi 等等。

但低压 CPU 这边的情况就相当捉襟见肘了(图 2)。低压 CPU 自身没有 PCIe 通道(也没有为独立 GPU 准备的通道)。如此一来,单纯依靠 PCH 来挂一大堆 I/O,包括雷电 3 这种带宽需求量大户(甚至可能是独立 GPU),再依赖一根小水管连接 CPU,那么带宽资源是可能出现争抢的问题的。

另外,低压 CPU 与 PCH 连接的 OPI 总线(On Package DMI interconnect Interface),根据不同的选择,有时仅有标压 CPU 的 DMI x4 的一半带宽(2 GT/s),就会让问题进一步恶化。这其实也是低压 CPU 在选择低功耗时付出的一部分代价。

如此便不难理解,MacBook Pro 13′ 虽有 4 个雷电接口,但其中有两个是半速接口,只占用 PCIe x2 lane,因为如果真的都用全速接口的话,加上 SSD 之类,更多 I/O 将没有带宽资源可用。(似乎有一些缓解技术出现,比如针对无线的 CNVi)

一款奇特的设备:Surface Book 2

这其中有个话题是值得探讨的,即 Intel 的低压 CPU 如今根本就不给独立 GPU 留通道。所以如果某台采用低压酷睿处理器的笔记本要用独立 GPU,那么这个 GPU 实则是挂在 PCH 下面的——或者说得再夸张点,是挂在南桥下面的(听起来有没有很惊悚)。

低压 PCH 到 CPU 的 OPI 总线带宽瓶颈,也就基本决定了低压超级本不大可能采用什么高级的独立 GPU。所以绝大部分在宣传上采用所谓“独立显卡”的超级本,也就配个 MX150/MX250 这种在我看来聊胜于无的 GPU,毕竟由于其性能本身也不怎么样,对带宽的需求自然就比较低。

img
Intel 十代酷睿低压处理器的 I/O
img
十代酷睿 PCH 的高速 I/O 通道设置

最新的 Ice Lake 十代酷睿的 PCH-U(495 系列芯片组),在 PCIe 的扩展上通道数是 16 个(全部 16 个高速 I/O 都可配为 PCIe,Comet Lake 好像也是这样)。相比之前的八代有了升级,似乎是一种更加灵活的搭配,比如现在 PCIe #1-#6 也皆可配置为 USB 3.2 [2] 。以前都是有 4 条固定配置给 USB 3.0 的。好在这次的低压 CPU 本身有一个 USB Type-C 形态支持的雷电 3,这也给 PCH 释放了压力。

Intel 官方介绍中说十代酷睿的 PCH-U 至多 16 条 PCIe lanes,也就是最多 6 个 PCIe 设备可接入,当然前提就是 USB、GbE 这些也都别用。SSD 要占掉其中 4 条 lane,不知是否有选择在十代酷睿上给独立 GPU 分配更多条 PCIe lane 的,理论上独显依然只能分得 4 条 lane(单个 PCI-e 设备最多好像也只能分配 4 条 lane,每 4 条就一个 PCIe 控制器)。

七代和八代酷睿的情况比这个还要捉襟见肘,可配置的 PCIe lane 一共就 12 条;如果还装配独立 GPU 的话,那么独立 GPU 理论上可能会和 SSD 争抢带宽资源——十代针对这个问题的改进应该也是没有的,因为 CPU 到 PCH-U 的连接小水管带宽依旧不变。当然,或许在具体的使用场景中,并不存在 PCH 挂载高速设备争抢带宽的问题,但起码 OPI 的带宽局限还在,所以无论如何都不可能采用什么高端独立 GPU 了——要知道 GeForce GTX 1080 用 PCIe x8 尚且略微有些悲伤了。

img
Surface Book

似乎在这么多超级本(或采用低压处理器的笔记本)中比较奇特的一款就是 Surface Book 了。众所周知的是,这款设备在 dock 部分可选配独立 GPU。Surface Book 在很多人的心目中,定位都是高性能移动工作站,但实际上即便是 15 寸 Surface Book,都仍在用 Intel 的低压处理器。

高配 15 寸 Surface Book 2 可选配的独立 GPU 是 GeForce GTX 1060(处理器是 Core i7-8650U)。无意外的是,这颗独立 GPU 也没有直连 CPU,而是挂在 PCH 下,占用通道 PCIe x4。这看起来还是个颇为奇葩的搭配方式,好像市面上还没有 OEM 厂商为低压处理器超级本选配这个规格的 GPU,毕竟 GTX 1060 是部分游戏本才会选择的独立 GPU。

只不过也的确没有听人说过它放在 Surface Book 2 身上存在什么带宽压力:似乎受制于 Surface Book 2 自身的功耗与温度限制,它身上的 1060 相比同样搭配 1060 的其他标压笔记本,游戏性能明显更糟糕[3]

NoteBookCheck 认为,原因应该在 Surface Book 2 自身的功耗限制上,但好像网上也有人将其归咎于带宽资源受限。

我觉得可以这样对比:13 寸 Surface Book 2 独显选配的是 GTX 1050(处理器和 15 寸一样);如果看 NoteBookCheck 的图形测试跑分的话,和同样选配 HQ 标压版的机型差不多[4];更重要的是实际游戏测试中,13 寸 Surface Book 2 也与其他选配 1050 的标压笔记本差不多。所以低压超级本选配 1050,大约在游戏上是没有受到带宽限制的。

不过很奇特的是,针对 15 寸 Surface Book 2,NoteBookCheck 竟然没测图形跑分成绩,而只是跑了跑游戏——并表示游戏水平和同 GPU 配置的其他机型有帧率上的差距。这就让人无法判断这种差距主要来自哪里。另外就是游戏大概还好,不知做 CUDA 计算数据量大时,情况会如何,估计 GTX 1060 就是低压 CPU 在选配独立 GPU 时的极限了吧。

另外就是,也正因如此,PCH 被占得如此之满,Surface Book 2 也就完全没可能再配 Thunderbolt 3 接口了。如此,你还会觉得 Surface Book 2 算得上移动工作站吗?

img
游戏本

玩游戏还是买个游戏本吧

本来还是想花点笔墨再说说 Intel 十代酷睿(Ice Lake)的 Iris Pro 核显提升,以及 AMD 不同体系下对于独显的支持,以及 AMD 独立 GPU 本身吃更多带宽的特性的(所以似乎并不存在 Intel 低压本选配 AMD GPU 的情况)。不过感觉有点太废话了,还有前面提到微星的 Max-Q 搭配也不多说了。

其实这一代核显的 G7 最高配,也就是 64 个 EU 的版本,图形跑分已经介于低功耗版和标准版 GeForce MX150 之间了,而且功耗表现也很优秀;但实际游戏测试就不难发现,没上 eDRAM 的带宽瓶颈,令 Ice Lake 在 GPU 和 CPU 同时跑的情况下,会发生主内存资源的争抢,令游戏画面有比较严重的掉帧,实际体验是比不上低功耗版 MX150 的。(推荐各位去看这篇文章:intel 10代酷睿移动版性能测试(四)—— IceLake-U 显卡篇[5]

近期我在家用 Surface Laptop 3(Core i5-1035G7)玩《伊苏 8》这种甜点级别的游戏,大致上也有这种体验,中等画质下的流畅度表现是非常好的,不过一旦 CPU 同时要干点儿什么活,游戏的掉帧问题就会非常严重——等 CPU 干完活儿,帧率立刻又回来。这是个挺诡异的事情。

不过 Ice Lake 这代 CPU 的核显部分提升的确相比八代有了不小的提升,用来玩玩这种对性能要求不高的游戏也非常怡然自得。在这种情况下,类似 MX150 这种在宣传上还比较好听的独显,就显得没那么必要,即便它依然在实际性能表现上优于 Ice Lake 的核显。(MX350 似乎有不错的提升)

总体我想说的是,若选择超级本,大部分情况下就别想着玩什么高级游戏了,尤其是低压 CPU 还对高端显卡存在诸多限制。虽然这话说起来跟屁话似的。另外一点是,低压 CPU 即便在优秀的系统设计中可以达成标压 CPU 的性能水准,它依然存在很大的限制,独立 GPU 即是其中一部分。

最后补充一点,Ryzen 4000 Mobile 对 Intel 十代酷睿的屠杀估计很快就要开始了,如果你不是个技术爱好者的话,就导购的角度来说,现在也绝对不是购买笔记本的好时机。几天前,Intel 的首席财务官 George Davis 在摩根士丹利的会议上已经明确表示,自家 10nm 时代,再也没有当年 14nm、22nm 时期对竞争对手的优势了,而且是“not reach process parity with competitors until it produces the 7nm node at the tail end of 2021”,并且要到 5nm 节点上才能找回制造工艺的优势[6]。对这一点我还是不怀疑的,不过究竟是什么时间呢?

详情还可参见:PC处理器市场在变天:Intel的王者宝座还能坐多久?

参考来源

[1]聊聊无风扇的Surface Pro:性能比一般笔记本差多少?- WEB VIEW

[2]Intel® 495 Series Chipset Family On-Package PCH Datasheet Vol. 1 – Intel

[3]Microsoft Surface Book 2 15 (i7, GTX 1060) Laptop Review – NoteBookCheck

[4]Microsoft Surface Book 2 (13.5″, i7, GTX 1050) Convertible Review – NoteBookCheck

[5]intel 10代酷睿移动版性能测试(四) —— IceLake-U 显卡篇 – 孤独凤凰战士的小屋

[6]Intel Says Process Tech to Lag Competitors Until Late 2021, Will Regain Lead with 5nm – tom’s HARDWARE

实时关注豆瓣租房信息,几行代码帮你轻松搞定

现代年轻人的日常生活已经离不开互联网,无论是订机票,点外卖还是网购,本质上,我们都已经习惯从互联网获取信息,并从中筛选、鉴别,作出决策。

但有时,如何从浩瀚的信息之海找到我们所需要的东西,则是一个大问题。这时,技术就派上了用场。

设想这样一种场景,你租住的房子很快就要到期,可你却诸事缠身,没办法花费诸多精力寻找合适的房源。你第一时间想到了房屋中介,但又投鼠忌器,害怕自己的个人信息被人不经意间「分享」,你还希望直接和一房东对话,找一套直租房源。

你想到了论坛,你看到了密密麻麻的帖子,并从中仔细挑选符合你期望的房源。结果你发现,看了半天,满意的似乎并不多,只能再刷刷看有没有新发布的帖子。

生活中诸如此类的情景还有很多,其实,在精力有限的情况下,可以让你的电脑替你去论坛搜索所期望的信息,收集打包并呈现在你眼前。

下面以租房和寻找二手物品为例,介绍我们是如何用简单的方法筛选出相关信息并进行定时更新的。

豆瓣小组获取租房信息

豆瓣上有很多专门的租房小组,尽管这些年也逐渐「沦陷」为房屋中介的战场,但由于历史悠久,我们还是能从中筛选出合适房源。

接下来的尝试,我们以「上海租房」小组为例,从该主页可以看到,相同类型的小组不少,当然也适用于这个方法。

图片
豆瓣「上海租房」小组首页

知己知彼,百战不殆。在抓取该页面信息之前,我们先来看看页面结构是怎样的。

点击豆瓣页面中的「更多小组讨论」后,会发现帖子标题涵盖了我们关心的地铁线路站名以及周边位置等信息。因此,我们的目标就可以概括为定时获取包含某些关键字的帖子标题以及链接并去重。

图片
小组讨论帖标题的关键词

「人生苦短,我用 Python」,我们的这个小工具就是基于 Python 3 实现的。而且方便的是,小组讨论不必登录就可以浏览,这就省去了模拟浏览器登录的麻烦。

安装 python

首先,我们需要 安装 Python ,详细方法可见这篇教程。建议使用 3.x 版本,毕竟今年 1 号起, 2.X版本官方都停止维护了。

Windows 下载安装包后,运行安装即可。

终端处输入 Python 显示版本信息则表示安装成功。

图为在 Windows cmd 中的效果。

图片
cmd 中输入 python 查看版本

虽然 Python 以短小精悍闻名,但我们还是想再精简下工作量,我们使用 Scrapy 框架来抓取网页上的信息,Scrapy 是 Python 的一个知名第三方爬虫库,Windows 平台可以直接通过安装Python后自带的 pip 安装,一行命令解决。

pip install Scrapy

但 Mac OS 系统自带的 Python 2.7 会和 Scrapy 产生冲突,Mac OS 用户建议使用 virtualenv 在虚拟环境中进行安装。 都安装完毕后,就可以创建项目了。

创建项目

我们创建一个用以提取信息发送邮件的项目,将其命名为 ForumSpider。新建项目,首先 cd 到相应的目录,执行如下的命令:

scrapy startproject ForumSpider

一个初始的 Scrapy 项目就生成了,下图是这个项目的目录结构,由于我们实现的功能比较简单,可以暂时不用关心其他文件,我们只需在 settings.py 中进行简单设置,然后在 spiders 目录下定义一个我们自己的爬取工具就够用了。

图片
scrapy 项目结构

首先,我们需要在 settings.py 中设置 USER_AGENT,即用户代理,

User Agent中文名为用户代理,简称 UA,是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等

简而言之,这就是客户机器的身份标识。我们需要设置此项以便能够隐藏机器的身份,不容易被网站拒绝。settings.py 中已经自带了一些配置。在浏览器中按下 F12,选择 Network 标签页,随意点击一个链接,就可以从 Header 中获取 USER_AGENT:

图片
查看 User Agent

将其替换 settings.py 中的 USER_AGENT:

USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
图片
修改配置

另外,我们选择遵循 Robots 规则

robots.txt是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。

Robots.txt中定义了我们可以爬取的范围,符合对应该网站的爬取规范,以避免不必要的爬虫风险。之后,我们就可以新建一个工具定义我们的爬取规则。在此之前,我们需要从网站中找寻一定的规律来编写我们的脚本,我们打开刚才的「更多小组讨论」的帖子列表页面,观察 url 的规律,下图分别是第一页的 url 和第二页的 url,可以看出,分页参数 start 代表开始的元素编号,每页 25 个帖子:

图片
第 0 -25 个帖子的 url
图片
第 25 -50 个帖子的 url

了解了每次爬取的 url 的变化规律,接下来我们需要了解爬取内容的 DOM 树结构,进入控制台,选择 Elements 标签页,使用旁边的选择器定位标题所在的结构:

图片
定位标题所在元素的操作
图片
标题所在的 a 标签

我们发现,整个列表是在一个名为 olt 的 class 中呈现的,标题所在的 class 名为 title,并且其中的超链接标签中包含了我们需要的所有信息,标题和链接。由于页面中可能包含有多个名为 title 的 class,因此我们将其父级元素 olt 同时作为条件选择以便更方便地定位。

回到刚才的项目,我们此时需要新建一个名为 douban 的爬取工具:

scrapy genspider douban "douban.com"

douban.com 是我们设定的爬取域,生成的文件如图所示:

图片
工具主函数

start_urls 代表了爬取的 url,但实际上我们如果需要爬取多个页面的话, url 则是动态的。因此我们可以将 allowed_domains 和 start_urls 变量删去,用 start_requests 方法来动态生成爬取的 url:

def start_requests(self):
    for i in range(0, 5 * 25, 25):
        url = 'https://www.douban.com/group/549538/discussion?start={page}'.format(page=i)
        yield scrapy.Request(url=url, callback=self.parse)

这个方法的功能就是循环爬取 start=0 到 start=100 的页面内容,每次共爬取 5 页,爬取时调用 parse 中指定的规则。 在刚才我们探索页面结构的基础上,parse 方法定义为:

def parse(self, response):
    for title in response.css('.olt .title'):
        yield {'title': title.css('a::text').getall(), 'link': title.css('a::attr(href)').getall()}

这个方法的含义是获取 olt 的子元素 title 下的 a 标签的文本和 href 属性,即内容和链接。getall 代表获取符合上述条件的所有元素的内容和链接。 到这里,爬取的功能已经全部编写完毕了,一共是 7 行代码。但我们所需要的功能是在获取到新发布的帖子的信息时,收到推送或提醒。Scrapy 中内置了 mail 模块,可以很轻松地实现定时发送邮件的功能。那我们可以考虑先把爬取到的信息存储到文件中进行分析,再将由关键词筛选得到的信息与上一次筛选过后的信息进行比较,如果存在更新,就更新存储筛选信息的文件,并发送邮件。我们可以用以下的命令来将爬取到的信息输入到 JSON 文件中:

scrapy crawl douban -o douban.json

既然需要定时执行,那我们就需要在根目录中创建一个 douban_main.py,用 time 库编写一个简单的定时器,用以爬取之前清空存储爬取信息的文件,并每 21600 秒(6 个小时)执行一次爬取分析:

import time, os
while True:
    if os.path.exists("douban.json"):
        with open("douban.json",'r+') as f:
            f.truncate()
    os.system("scrapy crawl douban -o douban.json")
    time.sleep(21600)

最后一步,就是筛选信息并发送邮件了,发送邮件需要引用 MailSender 类:

from scrapy.mail import MailSender

首先,我们要确保发送邮件的邮箱 SMTP 服务开启,并获取授权码,以 QQ 邮箱为例:

图片
开启 POP3 / SMTP 服务及 IMAP / SMTP 服务

获取授权码之后,配置 MailSender 实例:

mailer = MailSender(
    smtphost="smtp.qq.com",
    mailfrom="xxxxxxxxx@qq.com",
    smtpuser="xxxxxxxxx@qq.com",
    smtppass="16 位授权码",
    smtpssl=True,
    smtpport=465
)

最后,我们需要指定一些关键词,为了便于理解,匹配的写法比较简易,注重性能的朋友们可以使用正则匹配。注意每次分析完毕之后,我们将迄今为止出现的符合关键词的信息写入到 douban_store.json 中,并在新信息出现时保持更新。这个过程写在爬虫程序结束之后调用的 close 方法中。附上 douban.py 的所有内容:

# -*- coding: utf-8 -*-
import scrapy, json, os
from scrapy.mail import MailSender
class DoubanSpider(scrapy.Spider):
    name = 'douban'
    def start_requests(self):
        for i in range(0, 5 * 25, 25):
            url = 'https://www.douban.com/group/549538/discussion?start={page}'.format(page=i)
            yield scrapy.Request(url=url, callback=self.parse)
    def parse(self, response):
        for title in response.css('.olt .title'):
            yield {'title': title.css('a::text').getall(), 'link': title.css('a::attr(href)').getall()}
    def close(self):
        mailer = MailSender(
            smtphost="smtp.qq.com",
            mailfrom="xxxxxx@qq.com",
            smtpuser="xxxxxx@qq.com",
            smtppass="xxxxxxxxxxxxx",
            smtpssl=True,
            smtpport=465
        ) # 配置邮箱
        obj_store, new_info = [], []
        key_words = ['枫桥路', '曹杨路', '11 号线']
        if os.path.exists("D:\\ForumSpider\\douban_store.json"):
            with open("D:\\ForumSpider\\douban_store.json", 'r') as f:
                obj_store = json.load(f)  # 读取之前爬取的符合关键词的信息
        with open("D:\\ForumSpider\\douban.json", 'r') as load_f:
            load_dict = json.load(load_f)
            for info in load_dict:
                content = info["title"][0].replace('\n', '').replace('\r', '').strip() #按标题进行筛选
                for k in key_words:
                    if k in content:
                        tmp = {"title": content, "link": info["link"][0]}
                        if tmp not in obj_store: # 如果之前的爬取没有遇到过,则加入到新信息列表
                            new_info.append(tmp)
                            obj_store.append(tmp)
        if len(new_info) > 0:
            with open("D:\\ForumSpider\\douban_store.json", 'w') as writer:
                json.dump(obj_store, writer) # 更新到旧信息列表
            return mailer.send(  # 发送邮件
                to=['lolilukia@foxmail.com'],
                subject='【豆瓣脚本】上海租房',
                body='\n'.join([str(x['title'] + ':' + x['link']) for x in new_info])
            )                        

运行 douban_main.py 即可定时运行这个信息爬取脚本:

python douban_main.py

包含主函数,这个脚本一共 51 行,现在已经能满足使用需要,当然还可以进一步精简优化。执行脚本之后,很快我就收到了第一封邮件:

图片
租房信息爬取结果邮件

上述脚本适用于所有豆瓣小组,稍改改动优化过后也可以应用于获取留学信息、追星八卦等等方面。

场景 2:获取二手物品信息

上述的场景适用于不需要登录就能查看信息的一些网站,然而大多数情况下,更多的信息需要登录之后才能查看。很多网站登录的时候使用了验证码,扫码等策略避免自动登录,cookie 的模拟登录方式又极容易过期,使用简单的策略爬取网站信息似乎有些困难,下面以 v2ex 论坛为例,介绍另一种爬取网页信息的半自动方法。

为何称为半自动方法呢,进入 v2ex 的登录页,我们发现登录框的下方需要输入验证码,如果我们需要模拟登录的话,可能还需要写一个模式识别的程序,甚至比我们浏览论坛的时间成本还高。如果能够人工输入一次验证码,然后让程序自动定时爬取,好像也可以接受。这样的话,我们可以采用模拟人工操作浏览器行为的框架 selenium。

selenium 依旧可以使用 pip 来进行安装:

pip install selenium

selenium 3 之后需要单独安装浏览器驱动,因此我们需要下载 geckodriverchromedriver

,其他浏览器需要安装对应的驱动),并将它们都加入到环境变量 PATH 中。

首先,我们先使用 selenium 调用浏览器,打开 v2ex 的登录页面:


from selenium import webdriver
sigin_url = 'https://www.v2ex.com/signin'
driver = webdriver.Chrome('D:\\chrome_driver\\chromedriver.exe')
driver.get(sigin_url)

以下是运行效果:

图片
selenium 运行效果

接下来,我们需要自动填充用户名和密码,然后等待我们人工输入验证码进入论坛。我们还是使用 CSS Selector 的方式定位元素,找到用户名和密码所在的输入框:

图片
查看输入框的 DOM 树结构

我们发现这两个输入框没有标识 id,也没有特别的 class 名称,因此我们可以使用 find_elements_by_css_selector 返回这一类元素的列表,幸运的是登录页一共只有 3 个输入框,因此我们可以通过索引迅速锁定它们,并填充我们的用户名密码。当然这里也可以用 tag 来定位:

user_name = driver.find_elements_by_css_selector('.cell .sl')[0]
user_name.send_keys('v2ex 用户名')
user_pwd = driver.find_elements_by_css_selector('.cell .sl')[1]
user_pwd.send_keys('v2ex 密码')

运行效果如下:

图片
打开页面自动输入用户名和密码

验证码需要我们自行输入,为了让程序等待我们输入完毕验证码并点击登录按钮之后再进行爬取,我们设定一个 while 循环,当页面跳转到论坛列表页,出现特定元素时跳出:

while True: # 等待人工输入验证码
    table = driver.find_elements_by_id('Tabs')
    if len(table) != 0:
        break

其余的逻辑与场景 1 大抵相仿,在此不多加赘述。模拟浏览器行为的写法比较简单,访问页面时调用形如 driver.get(url) 的方法即可,抓取的写法也很好理解,只是由于调用了浏览器,爬取速度会稍慢。不过这也无妨,我们要做的就是在点击登录按钮之后等待邮件即可。由于这个场景不再使用 Scrapy 进行抓取,发送邮件我们改用 Python 内置的 smtplib 和 email 模块,进行简单的配置(16 位授权码的获取方式参见场景 1):

import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender = 'xxxxxx@qq.com'
subject = '【v2ex 脚本】二手交易'
smtpserver = 'smtp.qq.com'
passcode = '场景 1 出现过的 16 位授权码'

然后需要构造一个 MIMEText 实例,用以定义发送的内容、发件人、收件人和主题等等:

msg = MIMEText(body, 'html', 'utf8')
msg['From'] = sender
msg['To'] = sender
msg['Subject'] = Header(subject, charset='utf8')

这里的 body 就是我们筛选出的新信息的字符串,发送邮件的过程也十分简单:

smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(sender, passcode)
smtp.sendmail(sender, sender, msg.as_string())

如果需要多次运行,则可以使用 JSON 文件记录筛选过的信息,如果仅运行一次,将 obj_store 放置在 while 循环外即可。注意尽量避免较短时间内多次进行登录操作,否则可能会被封 IP。另外,如果新增回复,链接会发生变化,因此此处只判断 title 是否出现过。附上 v2ex_main.py 的所有内容:

from selenium import webdriver
import time, os, json
import smtplib
from email.mime.text import MIMEText
from email.header import Header


sender = 'xxxxxxxxx@qq.com'
subject = '【v2ex 脚本】二手交易'
smtpserver = 'smtp.qq.com'
passcode = '16 位授权码'


sigin_url = 'https://www.v2ex.com/signin'
driver = webdriver.Chrome('D:\\chrome_driver\\chromedriver.exe')
driver.get(sigin_url)
user_name = driver.find_elements_by_css_selector('.cell .sl')[0]
user_name.send_keys('v2ex 用户名')
user_pwd = driver.find_elements_by_css_selector('.cell .sl')[1]
user_pwd.send_keys('v2ex 密码')
while True: # 等待人工输入验证码
    table = driver.find_elements_by_id('Tabs')
    if len(table) != 0:
        break
key_words = ['mbp', 'AirPods', '触摸板']
obj_store = []
while True:
    new_info = []
    for i in range(0, 5):
        driver.get('https://www.v2ex.com/go/all4all?p={page}'.format(page=i+1))
        items = driver.find_elements_by_css_selector('.item_title a')
        for item in items:
            for k in key_words:
                if k in item.text:
                    tmp = {'title': item.text, 'link': item.get_attribute('href')}
                    if tmp['title'] not in obj_store:
                        new_info.append(tmp)
                        obj_store.append(tmp['title'])
    if len(new_info) > 0:
        body = '\n'.join([str(x['title'] + ':' + x['link']) for x in new_info])
        msg = MIMEText(body, 'html', 'utf8')
        msg['From'] = sender
        msg['To'] = sender
        msg['Subject'] = Header(subject, charset='utf8')
        smtp = smtplib.SMTP()
        smtp.connect(smtpserver)
        smtp.login(sender, passcode)
        smtp.sendmail(sender, sender, msg.as_string())
        smtp.close()
    time.sleep(1800)

爬取的过程如下图所示:

图片
整体运行效果

切记不要关闭浏览器,随后会收到一封来自脚本的邮件:

图片
二手信息爬取结果邮件

总结

以上仅是相应于场景提出的小规模样例,生活中其实有相当多的应用,比如最近一段时间抢购口罩等等。这样的小工具能够一定程度上提高我们生活的效率,避免花费不必要的时间。

最后,虽然网页爬虫能够给我们的生活带来一定的便利,免去人工筛选信息的烦恼,但还是要注意道德与法律的边界,防止带来一系列负面影响。

聊聊无风扇的Surface Pro:性能比一般笔记本差多少?

我有一台低配版的 Surface Pro 6,128GB + Intel 酷睿 i5 第八代 CPU。对 Intel 低压版酷睿产品线熟的同学应该知道,Intel 第一次在酷睿第八代低压处理器(也就是型号末尾都带 U 字母的)上将核心数目升级到了四核,以前都是双核。而酷睿八代 CPU 的问世,很大程度上似乎是为了应对 AMD Zen 的来袭。

在市场宣传上,酷睿八代还是相当成功的。基本上酷睿八代超级本(本文只讨论低压版酷睿八代)都获得了不错的名声,也包括 Surface Pro 6。网上的绝大部分基准测试成绩,八代酷睿都比七代有着质的飞跃,毕竟核心数目都翻番了——也算是“一屁股坐在牙膏管上”的操作了,这好像还是要感谢 AMD 的。

图源:我的 Ins

不过讲真的,Surface Pro 6 酷睿 i5 版的使用体验并不算好——一般在低压超级本上,我以前始终觉得酷睿 i5/i7 在性能表现上差不到哪儿去,尤其在低压 i5、i7 超级本的价格差别还那么大的情况下。如果我们不算 binning process 导致 i5/i7 有着体质上的差异,以及一些看起来对一般人并没有什么用的“高级”特性,针对超级本的低压版i7 似乎也就比 i5 略高点儿频率(cache 差别什么的也并不大)。现在看来,我这个观念是错误的,至少在微软这里是完全错误的。

实际情况是,Surface Pro 5、6、7 这三代产品的酷睿 i5 版(分别对应 Intel 酷睿七代、八代、十代),都采用被动散热,也就是无风扇的设计(i7 版是有风扇的)。我觉得在行业内也就微软有这种“魄力”了。不过至少通过对它们的了解和研究,可发现无风扇酷睿低压本(非超低压)的实际性能情况,大致是什么样。因为温控、散热设计对性能有着很直接、显著的影响。

不想看这么多文字的同学,可以直接转到本文最末看结论。

主观体验

聊主观体验的话,其实就不光是处理器的问题了,理论上我应该谈“系统性能”。比如说 Surface Pro 6 低配版选择的闪存比较寒碜,加上 LPDDR3,其存储性能本身就不会很好看,这些实际上都对系统性能成绩造成了比较大的影响。就 NoteBookCheck 的 PCMark 系统性能来看,低配版 Surface Pro 6 的系统性能得分和 Pro 5 差不多[1],主要源于其存储性能实在太烂。不过我不想聊系统性能,我们就单纯说说 CPU。所以主观体验这部分其实不靠谱,各位权当看看。

如果只说体验的话,我日常用 Photoshop 和 Lightroom 作图调色比较频繁,Surface Pro 6 酷睿 i5 版在应付这两个软件时已经十分力不从心。起初我一直觉得这件事很不可思议,八代酷睿怎么应付不了 PS 和 LR?所以我怀疑是软件版本问题(或 GPU 加速什么的不生效),后来我发现不管我换用哪个版本,在这台超极本上用 PS 和 LR,就是感觉会慢半拍。LR 的使用体验尤其糟糕,就是调某一种色彩的饱和度、色相、亮度都会感觉到迟滞。以前那些七代酷睿本上都没发生过这种事。

这是我用 Surface Pro 6 在中秋节那天做的图,这张图做到 20 分钟时,屏幕已经比较烫手

我手上主要在用的是两台本子,一台是 Surface Pro 6,还有一台是公司发的 ThinkPad X390(酷睿 i7-8565U)。这两台设备看起来都是八代超级本,而且就这两款设备发售同期,Surface Pro 6 价格也比较感人:于情于理,Surface 也应该和同期八代超级本性能相近,或者至少差别不大吧。但就实际体验部分来看,ThinkPad X390 的 PS 和 LR 使用体验真的甩 Surface Pro 6 九条街,前者在这些软件内的常规操作基本没什么卡顿的情况发生。

这就真的让我很不爽了,因为这种体验差距是能确确实实感受到的。大家同样是八代本,凭什么 ThinkPad X390 就出色那么多?

如果我们单从处理器来看,它们的主要区别在我看来就是有没有风扇的问题,Surface Pro 6 的酷睿 i5 版是没风扇的,ThinkPad X390 有风扇——而且风扇还经常转。在酷睿 i 系列本子上不用风扇的,在行业内估计也是屈指可数的。我这两台设备实际的处理器型号为:

– Surface Pro 6:酷睿 i5-8350U(Kaby Lake Refresh),1.7GHz 主频,3.6GHz 睿频,6MB L3 Cache;LPDDR3 8GB 双通道;UHD Graphics 620(300-1100MHz)

– ThinkPad X390:酷睿 i7-8565U(Whiskey Lake),1.8GHz 主频,4.6GHz 睿频,8MB L3 Cache;DDR4-2400 8GB;UHD Graphics 620(300-1150MHz)

貌似看这个配置表,我这“主观体验”对比未免也太不客观了。的确,这两个超级本的处理器架构代号都不一样。不过 Whiskey Lake 相比 Kaby Lake Refresh 的主要差别在于,Whiskey Lake 采用改良版的 14nm++ 制造工艺,提供了更高的频率,其余各部分其实是差不多的,貌似还有外围支持的一些小差异。

似乎就存储性能表现,以及处理器频率、L3 Cache 来看,ThinkPad X390 更优的软件使用体验也算必然。只是我没想到两者的差距会这么大,毕竟也算是同期的八代超级本。就我自己看来,这种差异可以认为是散热机制造成的,Surface Pro 6 的无风扇设计导致其性能孱弱,并影响到了用户体验。散热机制差异对性能的影响,超过了上述配置参数差异的影响。下面我们来“片面”地看看,无风扇设计究竟造成了多大的影响。

这三代无风扇设计的 Surface

前文就提到了,Surface Pro 5、6、7 这三代的酷睿 i5 版都采用无风扇设计。就我的理解来看,这应该并非是微软对自己系统设计有多自信,而是在理念上期望打造一款安静的无风扇平板电脑(或许平板模式下,DPTF 动态温度功耗控制需要比一般笔电更严格,毕竟身兼“平板”属性,需要经常与手亲密接触)。它在定位上更偏向便携、轻薄、移动、安静。只不过 Surface Pro 就平板定位来看,真的不轻,且发热不低,我自己觉得就现阶段来看,它完全没有追求“便携、轻薄”的资格。

而且主观体验可补充的是,Surface Pro 6 的温控机制虽然在笔记本中算是比较保守的,但如果你有用 Surface Pen 作图的习惯,在 Photoshop 里面作图,手指和屏幕亲密接触,依然能十分明确地感受到这设备“温暖”得可以:时刻提醒你,这根本就不是一台平板,哪有这么“温暖”的平板啊?所以我觉得,在这一点追求上,Surface 是失败的。或者说,我觉得 Surface Pro 没必要追求这个。

我们来看下,如果只对比这三代产品,其 CPU 性能表现的差异。这里援引 NoteBookCheck 的 CineBench R15 多轮跑分,如下图所示。我将 Surface Pro 5、6、7 的酷睿 i5 版跑分标识出来了。

来源:NoteBookCheck

首先简单谈一谈 CineBench R15 是个什么测试:这个测试基于动画软件 CINEMA 4D 3D 内容创作,可用于衡量 CPU 和 GPU 性能。CPU 测试场景包含 28 万个多边形,GPU 测试基于 OpenGL ——渲染大约 100 万多边形、高分辨率纹理和各种特效。测试中,CineBench 会动用全部系统处理能力,来渲染一个 3D 场景,该场景由各种算法构成,对所有可用处理器核心构成压力测试。CPU 测试场景包含大约 2000 个对象,采用形状、模糊反射、面积光源、阴影、反锯齿等效果。GPU 测试部分就不说了,也不是本文要探讨的重点。

Intel 似乎一直认为 CineBench 是一个“unrepresentative”的测试[2],其实我也这么觉得。不过 NoteBookCheck 的这项对比最为直观,我就拿过来用了。

如果我们只用 Surface Pro 自家产品对比,这三代的性能提升还是显著的。而且同样是无风扇,Surface Pro 的性能还是比 Surface Go 高出一大截的——这里没有给出 Surface Go 的成绩,这款设备的 CineBench R15(多线程)跑分稳定在 160 分左右。Surface Pro 6 的酷睿 i5 CPU(酷睿 i5-8250U)性能提升相比 5 还是相当显著的,就 CineBench 来看,其成绩在长时间跑分后的稳定状态位于 440 分上下;而 Surface Pro 5 (酷睿 i5-7300U)是不到 230 分——持续性能提升超过 90%(相比 Surface Pro 5 有风扇的 i7 版提升约 27%)。Surface Pro 7 的酷睿 i5 版(酷睿 i5-1035G4)持续性能跑在 500 分上下,这个提升幅度算是尚可,不过比我想象得要差。

实际上,从这个曲线也反映了这三代设备的一个共性,最初几轮跑分成绩明显比较高,尤其是第一轮跑分成绩,完全不输给那些带风扇同配的超级本,但在跑到大约第五、第六轮的时候,性能开始直线下滑。主要是因为功耗与温控限制,致设备可持续的频率比峰值状态下的频率低很多。Surface Pro 6、7 这两台四核设备的性能损失尤为显著。

在 NoteBookCheck 的测试中,CineBench R15 测试项,Surface Pro 6 在最初的几秒到几十秒时间里,处理器(酷睿 i5-8250U)频率可以跑到 3.4GHz,后续降至 2.8GHz;到第四轮测试时,频率降到 2.6GHz;后续则维持在 2GHz。TDP 功耗从最初的 22W 降到 16.5W,并在第六轮测试时降到大约 10W。温控机制会在 CPU 达到 70℃ 时做出限制,最终稳定在 62-64℃(有风扇的酷睿 i7 版则可以让温度推升到明显更高)。

这里值得一说的是 Surface Pro 7 的这颗酷睿 i5,乃是十代酷睿中的 Ice Lake(Ice Lake-U)——而不是 14nm 的 Comet Lake,即采用 Intel 最新的 10nm 制程,而且是新架构,是 Intel 目前最先进的 CPU 产品了。Intel 的十代酷睿有两个系列,分别是持续改良版 14nm 的 Comet Lake 和 10nm 的 Ice Lake;前者是老架构、改良版工艺,后者是新架构、新工艺。当然我们不能认为 10nm 的 Ice Lake 就一定更好,这一点还会在后文中提及。但十代酷睿实际上相较八代酷睿,仍可以认为是一次较大幅度的跨越,因为八代酷睿实则并不像很多媒体渲染得那么好,这一点还将在后文中提及。

Surface Pro 7 的 CineBench R15 成绩最初可以达到 685 分这样的高分,但在后续循环测试中,性能致持续稳定状态则损失了大约 27%。当然我们不能说峰值性能是没有意义的,因为应用运行的很多情况需要的就是瞬时性能,所以睿频性能的短时突发量还是有价值的。但面对一些高负荷的长时间持续负载时(比如解压大文件、视频 encode 等),Surface Pro 7 也显然没有那么香——毕竟它的 i5 版也没有风扇。

单 CineBench 一项测试其实很难说明问题,不过 AnandTech、NoteBookCheck 这些媒体针对的测试项目不多,而且少有像上面这样的长时间持续性能测试——像 GeekBench 这种短时间内做大量项目测试的基准测试工具,其参考价值有多少是值得多加思索的。AnandTech 测试了更多系统性能项目,如果我们只看较短测试周期的结果,八代酷睿的多核、多线程测试成绩显著领先于七代,比如 x264 转换这种任务;而 web 测试成绩则比较一般。AnandTech 有在评论中提到,Surface Pro 6 无风扇版的 PL2 值被限制在大约 23W,而更多八代酷睿低压本的短时间睿频功耗可以达到 30W——我觉得这个说辞不准确,这还会在后文中提到。

另外 Surface Pro 7 的十代酷睿 i5,表现比我预想的要糟糕,即便它相较同样没风扇的 Surface Pro 6 八代酷睿 i5 已经有不错的提升了。

当对比其他有风扇的设备时

那么这些没风扇的低压超级本,在和有风扇的设备比较时,性能大致是个什么水平呢?这本身就比较考验 OEM 厂商的系统设计水平,比如散热、温控机制等;笔记本的内部设计需要考虑与权衡的因素还很多,不只是性能和效率。实际可参照的设备很多,我们主要来看看不带风扇的 Surface Pro 与微软自家有风扇的 Surface Pro 酷睿 i7 版,以及 Surface Laptop,还有 ThinkPad 的差异。

在展开以前,就只说 Surface Pro 7 的酷睿 i5 版,具体型号 i5-1035G4。这里简单介绍一下这颗 CPU,我原本真的十分看好这次的 i5 版 Surface Pro。Ice Lake 架构(Sunny Cove 架构),10nm 制程,四核八线程,1.1-3.7GHz。Intel 宣称 Ice Lake 有 18% 的 IPC 提升(应该是相比 Comet Lake)。不过大概是因为 Intel 的 10nm 工艺还不成熟,所以 Ice Lake-U 具体到 CPU 的频率普遍都不及 14nm 的 Comet Lake 和 Whiskey Lake。

其他参数包括 6MB L3 Cache;集成核显 Iris Plus——48 EU,300-1050MHz。另外 Surface Pro 7 采用的内存是 LPDDR4x,1866.7MHz,双通道——存储性能理论上也应该是显著优于 Surface Pro 6 的。

可惜它没有风扇,如果和有风扇的超级本比起来,用 NoteBookCheck 的话来说[3],Surface Pro 7 无法维持住睿频太长时间,其多线程性能在最糟糕的时候和酷睿 i5-8350U 类似(参考对象应该是惠普 Elite x2 这种带风扇的超级本),最好时与酷睿 i7-8650U 差不多(对比对象是 Surface Pro 6 带风扇的酷睿 i7 版)。其实总结一下,可理解为无风扇的 Surface Pro 7 与有风扇的八代低压超级本,持续性能差不多。

但也不能就此给所有无风扇的 Surface Pro 定性。比如 Surface Pro 5 的酷睿 i7 版,也就是有风扇的版本,CineBench R15 无论跑多少轮,成绩都比不上 Pro 6 的无风扇版。这还是要归功于酷睿八代核心数量翻番。处理器本身的提升也是十分重要的。

下面的对比可能不够科学,因为实际的持续性能表现还受制于设备尺寸、外部 ID 设计——这是本文没有考虑进去的;但我向来就是这么的随性。来看一个比较杂的 CineBench R15 性能对比。

这张图加入了 Surface Laptop 2、Dell XPS 13、ThinkPad X390、ThinkPad T490s 这些相对传统的八代酷睿超级本。不难发现,即便是相同的 CPU(这组对比中以酷睿 i5-8265U、8250U 为主),不同的设计可达成的性能表现也是不一样的。这里表现比较好的 ThinkPad T490s(黄色) 能够与 Surface Pro 6(品红色)、Surface Pro 7(深红色)产生很好的对比。要知道 Surface Pro 7 已经搭载了十代酷睿,但持续性能表现却落后于绝大部分八代酷睿超级本。而 Surface Pro 6 则实至名归地在八代超级本中 CineBench R15 测试成绩垫底。

不夸张地说,无风扇设计的 Surface Pro,相比同代有风扇设计同配超级本,平均的持续性能差距可以达到 20-35%,相较一些系统设计十分出色的 14 寸超级本,持续性能差距可达 40%。

留意到 NoteBookCheck 在评测中也提到,”A laptop with ideal cooling is way out of the Surface Pro 6 (2018) i5’s league as the latter was only around 65% as fast.” 比如说,ThinkPad T480s(14 寸超级本,酷睿 i5-8250U)在持续负载中就比无风扇的 Surface Pro 快了 35%;即便是更小 12 寸的 ThinkPad X280(酷睿 i5-8250U)在持续性能上也高出约 20%。

没风扇果然是不行的。不过这里还是再次提醒一下,我没有研究过 CineBench R15 内部的具体测试流程,及其测试数据规模,虽然网上说它是个偏 CPU 的测试,但既然作为软件跑在最上层,它一定和整个系统相关;所以还是需要考虑 CPU 以外的其他配置。这样一来,整个系统的对比会比较复杂。

参照下更多酷睿十代(以酷睿 i5-1065G7 为主)低压本的性能表现,如下图。仅供参考——因为这里不同的笔记本在定位、设计上差异甚大,最顶部的 Surface Laptop 3 之所以能有这么好的表现,与其 15 寸的尺寸也有关。NoteBookCheck 目前数据库的十代酷睿测试数据似乎还不够多,所以横向对比的参考价值可能并不大;毕竟 Surface Pro 7 的 i5-1035G4 在规格上还是比表中的 1065G7 要弱一些的。

“真男人时间”短

针对本文开头部分所说,我用的这两台笔记本(ThinkPad X390 i7版/Surface Pro 6 i5版),用 AIDA64 看下这两台设备的 CPU 相关信息。这里我比较关注的是 CPU PL1、PL2 参数(下图中的 CPU Power Limit 1/2)。这两个值表示的是长时睿频功耗上限、短时睿频功耗上限,及其相应的持续时间。这个值与 OEM 厂商自己的设计相关。

ThinkPad X390

ThinkPad X390 这台设备(接 AC 电源、高性能模式下)的 PL2 短时睿频 TDP 设定在 51W,睿频可持续时间 28 秒;长时也有 25W。好像很多酷睿 i7-8565U 都采用类似的设定。这在低压本中仍是十分激进的值,虽然前文也把 X390 归类在超级本中,但实际上这台设备在厚度等 ID 设计上都算不上轻薄。可类比小米 Pro 这种八代本短时睿频 TDP 设定在 44W。

这种本子在一个较短时间内允许 CPU 不受性能约束,尔后便会做限制;44W、51W 这种值都是短时间内当标压设备在用了。这个“短时间”在很多场景下,仍对体验十分有帮助。

不过这几个参数只具有参考价值,因为实际能否达到设定的这些值及最高频率,还与设备的温控机制相关。从我自己的测试来看,ThinkPad X390 实则远远达不到这个程度(不过我做测试十分随意,可能某些变量没有控制到位),默认情况下可在一小段时间内坚挺在 29W 上下(一轮跑差不多在这个功耗下坚持半分钟),频率 3.10 GHz 左右,但 X390 似乎很容易撞温度墙,轻轻松松达到 100℃ 时便会立刻回退至后续长时间的 25W,且温度似乎始终都比较高——只不过在设计上并不影响体验。很多时候,往往 PL2 功耗冲高后,由于温度也会快速上升,最高性能状态也根本就坚持不了 厂商设定的值,有时或许连 10 秒都撑不到——睿频、TDP 极限可坚持的时间,就是所谓的“真男人时间”了。

Surface Pro 6 低配版,需要注意的是,我运气比较好,我买到的 SP6 用的是酷睿 i5-8350U,略好于市面上流通的 8250U

Surface Pro 6 在 AIDA64 中查看的这个值 PL2 是 35W,持续时间 2.00 秒?Max Turbo 全核 36x。我自己尝试跑 CineBench R20,并用 XTU 观察数值变化,只跑一轮,Package TDP 坚持在 25W 的时间还算是比较久的,后续达功耗限制(DPTF?)后始终维持在 17-18W 的水平。这对于一台被动散热设备而言已经相当不错了。尝试用 XTU 把 PL1 设为 35W,则在一轮 CineBench R20 全程,TDP 维持在 25W,温度在 73 ℃上下浮动(室温 15℃ 左右);退到 17-18W 时,温度在 65℃ 附近浮动。(不过貌似旧版的 Intel XTU 有点小问题,这组数据可能不准确)

NoteBookCheck 反复跑 CineBench R15 测试十几二十轮是很有价值的。尤其在 Surface Pro 酷睿 i5 版这类被动散热设备上,起初仍能表现出比较好的成绩;但在温度和功耗达到一定值以后,被动散热的效率不高,真男人时间不再。所以其持续性能会有一个较大幅度的损失。

实际从市面上绝大部分八代超级本的表现来看,在实现时,大部分超级本的“真男人时间”都比较短。而且更悲惨的是,PL1 标定的长时睿频功耗(我手上的 ThinkPad X390 是 25W,Surface Pro 6 也是 25 W)也未必能达到。能够坚守 15W 的八代超级本似乎就不多。Surface Pro 6 在多轮 CineBench R15 测试下最后降到 10W 及以下。

很多拥有主动散热的八代超级本,最终也都达不到 15W 长时睿频,主要原因是其散热设计不过关: Intel 首次在八代酷睿低压 CPU 中将核心数量翻番,对散热设计原本就提出了新的挑战。从笔吧评测室更早的测试来看[4],全力跑 CineBench R11.5/R15 的单线程测试时,酷睿八代 CPU 整体功耗就可能达到或超过 15W——一个核心满载就已经撞功耗墙了;多核心同时跑的频率情况即可想而知。

所以在一大批同系列八代超级本上,酷睿 i5 与 i7 版的持续性能几乎没什么差距,尤其很多 OEM 厂商还在沿用七代本的散热设计方案,则睿频真男人时间极短,过后就是持续降频,甚至在绝大部分情况下都达不到标称最高频率。于是持续高负载时,由于散热设计不过关,导致 i7 的高频能力根本无处发挥。可以想见,即便微软有着十分强大的系统设计能力,Surface Pro 6 的酷睿 i5 板去掉风扇以后,还怎么能撑得起场面。

不过在 i7 版配置上采用风扇,实则的的确确拉开了 i5 与 i7 配置的性能差距,这一点从前面 Surface Pro 的 CineBench R15 持续跑分就能看得出来。让 i5 与 i7 拉开性能差距的方式还果然是与众不同啊,说笑…

另外还说明,不同 OEM 厂商对待八代超级本做设计的认真程度,是可以反映到最终产品的性能表现上来的,ThinkPad (T 系列与 X 系列)属于八代低压本中的佼佼者,即便我也没有测试手头这台 ThinkPad X390 i7 版的真男人时间,以及睿频 TDP 是否如标称这般(以及续航测试在此也显得很要紧)。

十代酷睿,用被动散热会怎样?

我手上没有 Surface Pro 7,所以并不了解这台设备的情况。从 NoteBookCheck 的测试来看,Surface Pro 7 无风扇的酷睿 i5 版最初跑 CineBench R15 可以飙到 685 分(多核),这个成绩事实上比 Surface Pro 6 的有风扇酷睿 i7 版都还要好;比 Surface Pro 6 无风扇的酷睿 i5 版有 17% 的领先优势。但后续测试由于没有风扇,持续降频,成绩下滑幅度大约有 30%,最终如果就 CineBench R15 测试来看,Surface Pro 7 酷睿 i5 版在持续性能上相比 Surface Pro 6 酷睿 i5 版领先优势不到 15%。而且比 Surface Pro 6 的有风扇酷睿 i7 版弱了将近 13%。

目前网上似乎还没有针对 Surface Pro 7 酷睿 i7 版相对系统的测试数据,所以有无风扇对十代酷睿(Ice Lake-U)造成的影响似乎没有十分直观的比较对象。若以联想 Yoga C940(酷睿 i7-1065G7)这款设计相对比较平庸的十代超级本来对比,则 C940 相比 Surface Pro 7 无风扇 i5 版,有大约 24% 的持续性能优势(但这个对比并不科学,因为 CPU 并非同款),市面上某些 Comet Lake 十代本在绝对性能上差不多也是这样的领先幅度。

PCMark 10 测试,来源:NoteBookCheck
PCMark 8 测试,来源:NoteBookCheck
PCMark 10 测试,来源:NoteBookCheck

不知该说 Surface Pro 7 无风扇版在系统设计上有退步,还是无风扇的 Surface Pro 6 实际已经达成被动散热的最优设计。无论如何,这次的 Surface Pro 7 在 CPU 持续性能提升幅度上都算是比较有限的。但如果我们这里做个导购建议,则因为 Surface Pro 6 的系统性能实在十分糟糕(如前文所述,存储性能差),PCMark 10 这类测试综合成绩还不如 Surface Pro 5,那么 Surface Pro 7 无风扇 i5 版的可购买推荐指数依然是比较高的。它在 PCMark 10 的综合得分与 Surface Book 2 差不多,甚至还与 Surface Laptop 3 锐龙版差不多,比 Surface Pro 6 带风扇的 i7 版都有 15% 的成绩优势。

不过我总体觉得,PCMark 10/8 可能仍无法代表 Surface Pro 7 的日常使用体验,这里也不清楚 NoteBookCheck 在进行 PCMark 10/8 测试时具体是怎么跑的。所以也在这里给各位作参考吧。

如前文所述,酷睿十代包括了两个版本,分别是改进版 14nm 工艺,架构不变(Skylake)的 Comet Lake;以及采用 Intel 最新 10nm 工艺,架构变为 Sunny Cove 的 Ice Lake。这里不再具体谈十代酷睿的具体表现,不过就已上市 Comet Lake-U 的超级本来看,Comet Lake 架构没变、工艺也基本没变的情况下,其实际表现比八代的 Whiskey Lake 虽无同频性能的太大提升,但同频功耗降低不少;在相同散热条件下,Comet Lake-U 能够提升 15-20% 的性能。 [5]

就这方面的表现来说,Comet Lake 似乎是对 14nm 四核低压处理器的一次完善和补足,或者说可能在八代酷睿低压 CPU 核心和线程数目翻番显得过于匆忙时,在十代 Comet Lake 身上完成了一次比较出色的修正,让四核低压 CPU 真正步入成熟。(本文未探讨六核低压 CPU)

不过去年更新的 Surface 系列采用的十代酷睿并非 Comet Lake 版,而是 Ice Lake 版——也就是新工艺、新架构的版本,听起来好像更美好了。但前文就提到了,可能是 Intel 的 10nm 制程还没有那么成熟(后续我打算把 WikiChip Fuse 针对 Intel 10nm 工艺的文章翻译过来),虽然 Intel 宣称 Ice Lake 有 18% 的 IPC 提升,但市面上的 Ice Lake CPU 在最高频率方面不及 Comet Lake。

来源:笔吧评测室

从笔吧评测室的测试数据来看[6],3.5GHz 的 Ice Lake-U 差不多等于 4GHz 的 Comet Lake-U。实际上如果对比同频功耗,Ice Lake 是略高一点的,但 Ice Lake 的同频性能也更高。按照同性能来比较功耗,Ice Lake 还是胜出的(Uncore 以及核显的功耗会明显更高,此处 Uncore 也因为有了四个 Thunderbolt 3 原生支持故功耗更高)。

来源:笔吧评测室

以功耗为尺度做衡量,则在 PL1/PL2 为 15W/25W 的超级本上,Ice Lake 的性能会略低于 Comet Lake;但达到 35W 及更高时就会超越。就这个角度来看,Surface Laptop 3 采用 Ice Lake 应该还是个相当不错的选择;但 Surface Pro 7 的无风扇酷睿 i5 版也选择 Ice Lake,实际就有那么点小问题了。

但就上面我援引的各种数据来说,Surface Pro 7 无风扇酷睿 i5 版在 CPU 性能方面比 Surface Pro 6 高出 14-17% 之间(峰值和持续性能),这实际完全符合在相同散热设计下,十代酷睿(Comet Lake-U)比八代酷睿(Whiskey Lake-U)强约 15% 的预期,而 Ice Lake 在较低功耗设定下的性能相较 Comet Lake 没有优势,所以 Surface Pro 7 的表现完全符合预期。或者说 Surface Pro 6 可能已经在12寸设备上做到了被动散热的最优设计,Surface Pro 7 则延续了这一传统。

当然,在 Surface Pro 体系内,无风扇的被动散热大概的确做得不错,只是被动散热一定意味着性能会打折扣。

另外这里再分享一篇我觉得很有意思的文章,AnandTech 前不久参加 CES 2020 的 Intel 的主题演讲[2]。Intel 在会上对比了自家低压 Comet Lake/Ice Lake 与 AMD Ryzen Mobile 3000 系列,表明自家产品性能、特性领先多少。不过这不是重点,实际上这个对比结果也没什么奇怪的,从 Surface Laptop 3 的酷睿版和锐龙版比较,就能看出在低压版 CPU 的这一局,Intel 还是有相当优势的。

不过在这个对比中, AnandTech 发现,Intel 分别发布了两张 PPT,一张对比 Comet Lake 与 Ryzen Mobile 3000,另一张对比 Ice Lake 与 Ryzen Mobile 3000。三个对比对象分别是酷睿 i7-10710U、酷睿 i7-1065G7,以及 AMD Ryzen 7 3700U。而自家 Comet Lake 与 Ryzen Lake 却没有直观对比。AnandTech 觉得十分好奇,于是他们将两张 PPT 上的成绩放到了一起,一次来比较十代酷睿的两个版本究竟表现如何,如下图所示。

来源:Intel via AnandTech

Intel 宣称这些测试项是最能代表“真实环境的测试”。不过在包括 PCMark 10、WebXPRT 在内的测试中,Comet Lake 在前四项测试中都胜出,浏览器测试(PCMark10 Edge)基本是平手;WebXPRT 浏览器测试两者得分也相近,Ice Lake略胜。Office 真实测试也是对半开,Word 测试互有胜负(PPT PDF 导出测试,Comet Lake 的优势似乎还不小)——比较奇特的是这里的 Powerpoint 转为 1080p 视频测试,日常不知道有谁会这样操作;Photoshop 测试完全打平;至于 Topaz Labs AI 测试,这应该属于小众测试——而且 Intel 还和这家软件供应商合作进行了 GPU 加速(说好的真实环境测试呢?)。

总结一下上表的对标情况。Comet Lake 的这枚六核心的酷睿 i7-10710U 可以达到 4.7GHz 的睿频,而代表 Ice Lake 的四核酷睿 i7-1065G7 最高频率限制在 3.9GHz。即便后者 IPC 有 18% 的优势,也足以被频率和核心数差异抵消。比如 Office 负载,i7-10710U 可以同时开 12 个线程,这其实还是有很大优势的。

所以就现阶段来看,如果单论性能,则在具体的 CPU 产品上,Comet Lake 仍是更加成熟的选择——即便它采用的是旧架构和旧工艺。另外 Ice Lake 引入了一些消费用户暂时不怎么用得到的东西,比如说 AVX-512 指令原生支持——在现有某些特定冷门项目上,Ice Lake 估计可以获得更好的成绩。这么看来,如果真的说“真实环境测试”,则 Comet Lake 也是优选。虽然这种局面大概是 Intel 不怎么愿意看到的。

最后展望一下今年的 Surface Pro:其实去年发布的 Surface Pro X 真的挺好看,我倒是不在意设备厚不厚,而在意 Surface Pro 的屏幕太小了;Surface Pro X 就弥补了这个短板,屏占比增大了,屏幕变大了。无奈 Surface Pro X 是台 Arm 设备,知乎有几篇谈 Pro X 使用体验,以及 x86/x64 转 Arm64 效率的测试文章,至少现在 Arm 平台的 Windows 本体验是真的不好的。

我觉得很有理由相信,x86 平台的 Surface Pro 在屏幕、外观方面也会有类似 Surface Pro X 这样的升级,或许 Surface Pro 8 身上就能看到。还有一点,AMD 在前不久的 CES 大会上发布了 Ryzen 4000 系列 APU,这仍然会对低压超级本市场产生一次性能、效率上的冲击。Intel 计划中的 Tiger Lake 在路上。不确定 Surface Pro 8 能否赶得上。其实感觉这两年由于 AMD 的搅动,即便“摩尔定律放缓”,桌面 CPU 市场也焕发了一波生机。2020 年的 Surface Pro 或许会具有极大的吸引力。

最后的最后,总结一下本文的一些推论:

  1. 无风扇设计的 Surface Pro 在持续性能上,会明显弱于同时代同配置的其他主动散热超级本;持续性能差距可以达到 20-35%。
  2. Surface Pro 的酷睿 i5 版与 i7 版性能差别会比较大,这和其他品牌超级本的情况很不一样;
  3. 微软可能已经在 Surface Pro 被动散热设计上做到了最优化;
  4. Surface Pro 6 相比 Pro 5 实现了一次性能飞跃;
  5. Surface Pro 7 无风扇酷睿 i5 版的升级还是值得的,即便其 CPU 性能变化不算太大,但其系统性能提升比较大;
  6. 即便十代酷睿的 Ice Lake 用上了更好的工艺、更新的架构,但目前 Comet Lake 仍然拥有更出色的成熟性,和更实用的性能;
  7. 未来的 Surface Pro 8 可能相当值得期待,或许 Surface Pro 8 可以实现性能与外观(屏幕尺寸)的双重飞跃。

这里再多说一句,虽然本文花了比较多的篇幅在说被动散热的 Surface Pro 相比同配置超级本性能更孱弱,但我从未对于购买 Surface Pro 无风扇版的设备后悔——只不过我更加认识到 Surface Pro 的 i5 和 i7 版价格差别较大还是有原因的。对于无风扇设计,微软大约也有自己的想法。毕竟移动、安静本身就需要付出代价,就好像超级本的性能远弱于游戏本——但价格却依然可能很高,这是一样的道理,看你愿意为何种元素买单罢了。

注:有热心市民提醒,NoteBookCheck 的测试没有交代测试具体环境,尤其是室温:室温实际对于持续性能影响也很大。在看本文时,请留意此信息的缺失!所以 20-35% 这一数字值得商榷。

我猜 NoteBookCheck 应该有相应的文档来解释测试环境,但我太懒了,不想去看了,有兴趣的同学自己可以去翻一翻。

参考与推荐阅读:

  1. Microsoft Surface Pro 6 (2018) (i5, 128 GB, 8 GB) Convertible Review – NoteBookCheck
  2. Intel’s Confusing Messaging: Is Comet Lake Better Than Ice Lake? – AnandTech 
  3. Microsoft Surface Pro 7 Core i5 Review: More Like a Surface Pro 6.5 – NoteBookCheck 
  4. 美丽的谎言——8代Intel低压4核性能测试 – 笔吧评测室 
  5. Intel 10代酷睿移动版性能测试(一)—— CometLake-U 4核 – 笔吧评测室 
  6. Intel 10代酷睿移动版性能测试(三)—— IceLake-U 核心篇 – 笔吧评测室

AI芯片与GPU的争端:上世纪的故事重演

感觉这大半年参加芯片发布活动,观察一件很有意思的事:GPU 厂商说 AI 算力的时候,都喜欢拿自己跟 CPU 去比;AI 芯片厂商在说 AI 算力的时候,又很喜欢拿自己去跟 GPU 比。CPU 在 AI 时代成为了鄙视链最底层。看起来不仅绝对性能跑不过人家,而且能效比还差那么远。

好像只要参加 AI 芯片相关的会,一定会有人提 AlexNet 创世纪般的存在,也一定有人提 OpenAI 在 2018 年年中发布的《AI 与计算》分析报告[1]。因为里面说,从 2012 年至今,最大型的 AI training 计算量每 3.4 个月就会翻一倍——所以到 2018 年实际已经涨了超过 30 万倍。如果按照摩尔定律两年翻番来算,那么其实,2012-2018 年理论上芯片性能只能涨 7 倍。

看看,“只能”涨 7 倍,CPU 是应该哭一哭的——虽然实际上就摩尔定律,这里援引的数据都不准确,人家也不是说性能翻番不是?当然了,这些都不重要。重点在于,AI 算力需求这些年大幅攀升。

AI 芯片是某一类专用芯片

感觉这大半年我都在客观上探讨一件事,在刚进入 EE Times 不久,就看到 MIT 2018 年出的一篇 paper。这篇 paper 也在我这大半年写的文章里,被反复提及,题为《通用技术计算机的衰落:为何深度学习和摩尔定律的终结正致使计算碎片化》。在整体观点上,这篇 paper 其实还十分有趣。几个月前,我把这篇 paper 的观点做了浓缩和重构,再加了一些额外的料,构成了一篇《深度学习的兴起,是通用计算的挽歌?》[2]。

各位有兴趣可以去看一下,这篇文章真的细节动人、论据充分、观点鲜明、语句通顺……这里再总结一下,其实观点很简单,就是既然 CPU 现在性能涨幅这么小,工艺节点都难推进,那这条路差不多就快走完了;然鹅,还有专用计算这条路啊:就是针对不同的应用场景,咱们开发专门的芯片,量身定制、量体裁衣:这样的话就能做到性能持续大幅攀升,与此同时效率高、功耗还大幅降低。

其实论证这个观点的过程还是非常有趣的,比如说谷歌 TPU 出现了,就是专用芯片的最佳例证,它就真的只能做一件事。

这篇 paper 看起来美好而高级、优雅而低调。不过在随后工作的时间里,我基本上是在花全部的时间,尝试听取行业内的参与者们是否赞同这一点。很遗憾的是,几乎我听到的绝大部分声音,都在彻底否定这个论调。有关这一点,实际还可以从 1 月份即将发行的《观点》杂志,我的文章《AI芯片专用好还是通用好?遥想20年前GPU也面临这一抉择》中看到比较详细的论述。这里就不提太多了(下个月就和大家见面哟)。

绝对专用芯片也就是 ASIC,的确效率高、算力也高。但它实际受到两个巨大问题的影响:

第一是成本。这是个看起来非常废话的原因。像 CPU 这种全银河系通用、只在大麦哲伦星系不通用的芯片,你在上面干什么不行啊?都可以,装个 Windows,然后跑个虚拟机,还能装 macOS,写文档、做设计、修图、剪视频、炒股票,各种软件都能跑,医疗、交通、政府、金融,咱都能干。甚至,如果你一定要跑 AI 任务,CPU 其实也可以干。

所以 CPU 的特点,就决定了,这一类产品是全局适用的。它的销量非常大,渗透在人类生活的方方面面。所以即便新制程的设计和工艺成本都在指数级攀升,造个工厂花几十亿美金才可以——未来还要更多。不过这么昂贵的制造成本,实际能够消受得起的产品类型就不多。到最具体的产品上,手机、PC 都是可以承担这个成本的,因为它们每年的销量特别大,单 iPhone 一年就卖超过 2 亿台…每个手机、PC 至少都需要 CPU 才能跑得起来。CPU 有充足的量来摊薄设计与制造成本(实际情况比这还要复杂一些,还是推荐各位去看[2]这篇文章)。

而专用芯片是完全不具备这种成本摊薄特性的:因为它只针对某一个领域。绝大部分特定领域都不具备走量来摊薄最先进制程工艺成本的能力。比如汽车,这是个看起来十分庞大的市场了,但全球销量最好的车型,年销量也不过区区两三百万——这个量对一个车型就一颗专用芯片的设计和制造成本而言,实在不是个划算的数字——采用最先进制程则几乎是没有可能的。

当然,汽车专用芯片仍然可以考虑用成本更低、更早的制程来造芯片(以及某一颗芯片用在大量车型上)——这也是现在绝大部分专用芯片的常规方案。不过当“专用”芯片所覆盖的市场容量本身就不大,以及可能比汽车市场还要小很多的时候,尤其是很多 B 端市场——天花板是明摆着的,又靠什么来抵消芯片设计与制造成本?

这个问题在 MIT 的那篇 paper 中实则有着非常翔实的论述,其中详细列出了关乎特定市场容量、专用芯片产量、专用芯片相较通用处理器的性能与效率优势有多大,这些变量相互之间是什么样的关系。在满足怎样的条件时,专用芯片可以提供更高的成本效益。

在我更早期撰写的采访文章中,针对 ASIC 制造耗费成本这件事,我们有一个更准确地认识,即《摩尔定律失效,FPGA 迎来黄金时代?》[3]。不过这篇采访文章实则忽视了一个重要事实,就是 MIT 提到的上述这几个变量关系。而且专用芯片其实没有必要采用最新的制程,依然可以在性能和能效上碾压通用芯片(或 FPGA)。我在《深度学习的兴起,是通用计算的挽歌?》文中同样浓缩了这部分理论,在文章的第三部分“专用处理器市场过小?”章节内——不过当时为了理解方便,我没有将 MIT 提到的所有变量都放到我的这篇文章中,所以仍然建议去看 MIT 的原文。

第二是通用性差异。

双重标准:通用与性能

CPU 的通用属性就决定了,它在任何一个方面,其实都很难做到精通,或者说针对任何具体应用场景的算力和效率表现其实都一般。因为 CPU 需要耗费大量面积来做多层级 cache,微架构前端也很重要,真正的执行单元所占尺寸就那么点。因为 CPU 需要处理各种类型的工作,各种条件分支之类的东西。

但 CPU 的设计和工艺都是具备相当难度的,至少显著难于绝大部分专用芯片。用 GPU 去比 CPU 的 AI 算力,这种对比的价值显然是不大的。这其中的核心就在于,GPU 实际上本来就算是一种专用芯片。至少早年,GPU 就用于图形计算,它只做这一件事。而且实际在 GPU 诞生的更早期,它本来就以 ASIC 的面貌出现——它从骨子里是一种专用芯片。用 CPU 这样绝对通用的芯片,去比较 GPU 这种专用芯片,又有什么价值?尤其如果你还比较浮点运算能力,那就更奇特了。

不过 GPU 这个类型的芯片,在发展中后期发生了一些很显著的变化。它开始越来越具备通用属性(这个转变原因也可以从《观点》杂志中找),shader 核心这种非固定功能单元的地位越来越重要。即便 GPU 仍然没有 CPU 那么通用,但 cuda 编程这种东西是现如今人尽皆知的;GPU 的可编程性,或者叫灵活性变得越来越高。所以 GPU 现在早就不只用于图形计算了。

我们说将 GPU 应用于 AI 计算,不管是云端 training 还是终端 inferencing,其本质都是 GPU 通用属性的某一个方向;AI 计算在 GPGPU 世界里,不过是其中一个组成部分罢了。只不过是因为 AI 计算这个方向实在是潜力太大了,所以 GPU 厂商开始将 AI 计算作为一个着重发展的方向来对待,以及还针对 AI 计算特别加入了一些专用单元,比如张量核心。

然鹅这个时候,AI 专用芯片华丽丽地出现了,比如谷歌的 TPU、比如特斯拉的 FSD(Full Self-Driving Computer),以及一众国内外的 AI 芯片新品。

AI 专用芯片如果专用、固化到 TPU 那样的程度,只针对卷积神经网络,采用 Systolic Array 技术;前述第一个成本问题之外,它具有的第二个局限性就在于几乎没有灵活性可言。尤其在 AI 算法每个月甚至每周都可能发生变化的情况下,芯片 18 个月开发周期,当芯片问世的时候,这颗芯片就极有可能已经落后了。

但我们仍然不得不承认,AI 芯片在它所擅长的任务上,可能具备在效能与算力上大幅领先 GPU 的能力。所以 AI 芯片厂商几乎清一色地会在发布会上宣布,自家产品可以吊打某 N 字头企业的 GPU 某明星产品。

这件事,本质上约等于拿 GPU 去和 CPU 比浮点运算能力。而且实际上,AI 芯片比较的“AI 算力”大部分情况下是低精度的,比如很多终端 inferencing 芯片 INT8 计算能力很强——那你怎么不比比双精度?因为你不能做双精度运算?这种对比是将 GPU 放在通用计算的地位上,用专用计算的 AI 芯片——包括专门设计的 cache 或 HBM、低精度执行单元等——来吊打 GPU。这同样是件没有价值的事情。

不过更有意思的是,GPU 此刻为自己辩驳的方式,大部分是说:我能做的事情更多啊,比 TPU 之流的 AI 芯片能做的事情多太多了,它们那些 AI 芯片就只能做一件事。

这属于典型的双标,在和 CPU 比较时,宣称自己 AI 算力高出一大截;在和 AI 芯片比较时,宣称自己更通用。这不是双标吗?

是否存在第三类通用芯片?

其实我花了比较长的时间去理解,为什么 MIT 的这篇 paper 并不能成立;至少它成立的概率会很低。因为就历史经验来看,它是不对的:当我们参考 CPU 和 GPU 的兴衰史,其实就很容易发现,专用芯片在大部分历史条件下都不会成为主流,而只能成为某个历史时期的特定过渡产品。有关这一点仍然推荐去看 1 月份即将发布的《观点》杂志文章,这在前文已经提到了。

不过 AI 芯片是顺应时代潮流产生的一种芯片类型——除了前文提到的 TPU、FSD 这类相对极端的绝对专用 AI 芯片,当代越来越多的 AI 芯片都已经产生弱编程特性了,就跟当年的 GPU 一样。就连 Arm 的 NPU IP 实则都融入了一定的灵活性。也就是说,如今有一大批 AI 芯片实际是具备灵活性或通用性的,它们不只能做一件事,从结构上它还为未出现的算法做考量。

Graphcore IPU、华为昇腾都在其列。也就是说,AI 芯片在 AI 计算时,不仅效率相较 GPU 更出色,而且它还具备一定的通用性。这实则才是很多 AI 芯片企业在宣传中提到,在 CPU、GPU 之外,第三类芯片出现的原因,就是 AI 芯片。它可能将拥有自己的适用领域、迭代周期、开发生态。未来 CPU、GPU 和 AI 芯片就要成为三条并行的线了。

从应用场景来看,这个观念好像是成立的。至少我觉得,它比 MIT 说的专用芯片成为未来这一点要靠谱多了。

但我仍然觉得,这种畅想的实现概率也会比较低——至少在云端 AI training 这部分市场,GPU 可能将长期占据垄断地位,且难以撼动。因为 GPU 不仅具备制程优势(有能力采用最先进制程的少数派),而且具备开发生态优势——大量开发者都愿意投入其中,因为它相比 AI 芯片,具备了先天的生态基础,且发展多年。GPU 开发生态优势巨大的程度在从上至下、上天入地、贯彻电子科技行业,GPU 是无处不在的。

当开始拼开发软件栈的时候,一场全新的厮杀战就要上演了。某种芯片进入可编程时代,经营这类芯片的公司就不只是一家芯片公司了,它对软件人力物力的投入极有可能大于硬件,以 1:10 的硬件、软件工程师比例存在于世。这个时候,企业和行业都会变得越来越庞大。在行业整体价值的复合年增长率无法满足企业的成本投入攀升时,市场会逐渐步入寡头时代。GPU 市场就是如此发展至今的。

某 N 字头企业在如今的 AI training 市场已经占据了绝对统领地位,这种地位的不可撼动性就体现在开发生态的绝对优势上。且其发展经验积累,又令其具备了充足的资本优势可持续完善这个闭环生态,从软件到硬件。这就不是哪家 AI 芯片厂商随便对比一下性能、能效足以完事儿的了。生态优势可以彻底无视性能、能效的那点差别,尤其当这种性能、能效差别并没有数量级差别时。

所以,很多 AI 芯片初创企业畅想中的第三类芯片究竟能不能成立,或许要打一个问号。

好了,本文的 YY 差不多就到这里了。很多时候,历史经验是没有任何价值的,尤其我们说“具体问题具体分析”的时候,每一个事件的发展过程都有其特殊性,那些依据历史经验做推断的过程,本质上都是在胡说八道;在新事物面前,一切规律总结都只是在博君一笑——比如上面说的这么多东西。比如在终端小型 inferencing 现场,AI 芯片是能够长期发挥价值的,这仍然可以促成生态的持续反向完善。

不过至少,AI 芯片用自己的标准去和 GPU 比算力,GPU 又用自己的标准去和 CPU 比算力,同时还宣称自己比 AI 芯片能做更多的事,本质上都是耍流氓。

参考来源:
[1] AI and Compute – OpenAI
[2] 深度学习的兴起,是通用计算的挽歌?– 欧阳洋葱
[3] 摩尔定律失效,FPGA迎来黄金时代?– 欧阳洋葱

很多人以为智能家居,就是把家电连到手机上

我之前在一家智能家居设备公司呆了一年多。虽然我当时的主要工作是做偏市场的,不过因为老板知道我非常热爱技术,所以公司的所有技术文档也对我开放分享。而且我经常偷听硬件、结构和软件工程师们开会时在说什么:因为是初创公司,所以他们就在办公室里说。而我的座位是在我们老板旁边的,所以他与所有工程师的几乎所有对话我都能听到。

我来电子工程专辑第一个参加的活动就是 Silicon Labs 的,那次恰好也是在展会上,我就去 Silicon Labs 展位逛了逛。发现在应用场景展示部分,赫然出现前公司的智能家居产品,当时看见还蛮开心——这大概也算是个缘分吧。

如何定义智能家居?

在这家智能家居公司,我感觉我学到最多的,是对智能家居的理解。很多人以为,智能家居就是把家电,比如灯泡、电饭煲、空调、新风系统什么的接进网络,然后手机可以远程控制。我们老板不是个懂得市场宣传的人,但我很清晰地了解到,他对智能家居产品的理解是:你把一盏灯连到手机上,不管你是 WiFi、Zigbee 还是别的什么,然后用手机来远程开关灯——这件事是非常反人类的。

科技本身在用户层面的最佳体现,就是让你感觉不到科技的存在,同时又让你觉得你离不开它,而不是时刻提醒你:我这个东西很高级的哟!最典型的例子就是苹果对指纹识别在手机领域的普及,Touch ID 主体上需要 Secure Enclave、电容指纹识别传感器,以及操作系统层面的三方配合。几方配合实现的是一种技术的无感,你把手贴上去,跟按下普通 Home 按键一样,手机就解锁了,全过程非常符合直觉,就好像根本不存在这项技术一样。但 Touch ID 实际解决的包括了 Biometric Credential 的加密与存储机制(以及全盘数据加密),指纹识别过程的极佳体验(体现在高识别率、容差也比较大),以及具体的应用场景。这几个实现起来其实都不容易,都需要花很多的时间。但在用户看来,这东西就跟不存在一样,与此同时也离不开了。

三星在 Galaxy S4 时代就这部分是失败的,一方面那时的 Android 甚至都还欠缺对 Trustzone 硬件的支持(可能已经支持,这部分可以追溯到 Galaxy Nexus),另一方面滑动式的指纹识别存在感太强了,而且容差很小,识别成功率低。这种东西一定是失败的。

手机 app 开关灯这件事的离奇就在于,我明明每天回家,摸到门边的实体开关就能开关灯,我为什么要解锁手机、找到控制 app,然后在菜单中找到那盏灯,再点一下。这就是它反人类的地方,一套流程下来明明就比直接按个开关复杂太多了。

但其实讲真的,就市场上实际的应用来看,还是有大量的开发人员和初创企业在做这件事:即便是以他们认为更科学的方式,变来变去都不过是手机远程控制这回事。这件事的存在感太强了,每次点开 app 都仿佛反复跟用户强调:我这是个智能设备,你看,手机都成中枢遥控器了。小米有个床头灯是蓝牙连接手机的,除了买来时我用手机 app 试了下开关操作,以及尝试定时操作,其余任何时候,我都不会用手机去操控这盏床头灯。

这是我本人的手没错,好看吗?

以前 Jawbone 公司还很火的时候,他们的 CEO 提过一个很有趣的理念。当时所有的智能家居还在争论说,到底什么东西是智能家居的入口:手机?电视?还是什么插头、路由器之类的。Jawbone 当时就说:智能家居的入口肯定是可穿戴设备啊!什么意思呢?其实他具体指的是生物特征计量设备(不管是植入式的,还是可穿戴),比如可以监测你的心率啊、血氧含量啊各种乱七八糟的。

因为这些生命特征可以表达你当前的状态,比如你可能觉得太热了,你紧张了,你累了。这个时候根据这样的数据去智能调控家居设备的状态,比如背景音乐、空调温度。那么这时,Jawbone 就成为智能家居的“入口”了。

这个观点当然是为了 Jawbone 赚钱才提出来的,而且我觉得也不一定对。但至少它说对了一点,那就是智能家居应该是“主动”去理解人的,人是“被动”去体验智能的。而不是说,我现在要开灯或者电饭煲,我就把手机拿出来,找半天远程控制开关在哪里——甚至我还要对着机器喊一句:嘿开灯。这是反人类和倒退的…

越来越多的企业能够意识到这一点,比如前一阵去日本千叶参加 CEATEC,旭化成展台展示的就是这种“被动”体验,它的核心就在“传感器”上。比如传统摄像头通过一些算法来检测主人的脉搏,并且通过毫米波雷达来检测主人的动作,可以去理解这个时刻主人是个什么状态。再举一些实际特别简单的例子:门窗磁传感器——智能家居的组成部分,是在你回家推门的时候就让玄关亮灯。这是个非常简单的场景。再比如说红外检测——如果你用几个红外检测传感器(甚至在普通开关中集成的方式),就能很轻易实现《黑镜》里面那种我在家里,走到哪里,灯就开到哪里,并且我走过的地方还自动灭灯,这种操作。

如果传感器做组合的话,能够达成的自动化效果还是相当多样的。比如主动实现对“离家”场景的识别,就是门窗磁传感器检测到关门,与此同时,红外传感器检测到一个你从玄关某一侧经过的路径,那么这个场景基本就可以判定你已经离开家了——而且这个离家场景的识别方式特别经济。

当然,这种场景识别还有别的实现方式。苹果的 HomeKit 在基础软件层面充分利用了手机的特性,比如说基于手机 GPS 来给你定位。在你快到家的时候,就给你开启家里的空调(或者在你快到家的时候提醒你买牛奶);或者发现你不在家超过 20 分钟了,就自动把家里的灯都关了,而不需要你自己去主动触发一个场景。

地理围栏可以自动关灯

在“智能家居”这一类场景内,很多走在马路上的老百姓都觉得这些离我们十分遥远,实现起来太难了——事实上却根本不是这样的。他们为什么有这种错觉?大众对于智能家居的理解真的就在“远程遥控”这个程度,去年我爸妈给我家装灯,然后特地嘱咐我说,儿子啊,现在你在家,晚上睡前可以不用下地去关客厅的灯了,因为咱现在有遥控器了。然后就把一个实体的遥控器递给我,毕竟我自己床头柜有一把遥控器。

这件事其实是反人类的,对“睡眠”这个动作的识别,原本就应该由传感器或现代科技去完成。甚至我觉得说一句“嘿 Siri,晚安。”然后由 HomeKit 来关灯,这件事情仍是反人类的,这些东西不应该我们去做。

而实际上,实现一整套我所说的这些方案,真的不贵,而且也不是什么尖端技术。它只是需要开发者去把某些东西做到位,并且教育市场,我能做到什么。

小米有个感应夜灯,特别简单的一个东西,50 块钱。它不能联网,不能接入手机。但它内置了红外探头,你晚上经过的时候它会亮大概几十秒,之后自动熄灭。这东西当然仍然是不够智能的,但我觉得特别方便,我买了好几个贴在我家客厅里。它不是让我喊一声,或者还要开个手机 app 去开关灯。

说个比较有趣的实现方式,前公司的具体产品有一款叫“感应开关”。从外形来看,感应开关就是个大号的按钮——用很多人爱说的,它是“可编程开关”,你可以设定按下它,执行什么操作,比如按一下,家里的灯统统灭掉,那么我就可以把它放在床头,它本质上就是个遥控器;但它内部还集成了两枚红外线探头、温度传感器、照度检测传感器。

所以它某些具体的应用可以是这样的:当它发现家里太暗,而且你还经过的时候,就自动把某几盏灯打开;折返时自动关灯。所以堆砌传感器,总是有效的方案,这个场景说起来似乎没什么,但真正使用后就会觉得完全离不开,以后家里开关灯这件事根本就不需要我去处理。

声音是智能家居的最好选择吗?

这家智能家居公司在我离开时,已经着手做 AI 了。除了我前面提到的这些应用场景都能完成——但他们毕竟还是需要你去设定规则,比如 IF 门窗磁传感器==关 & 红外传感器==从左到右移动,THEN 触发离家场景。这东西还是需要你自己去设定规则,但当AI加入的时候,去学习你的使用习惯。你每天回家,第一件事情就是开某个家电:那我就知道你需要这个东西;以及,在你离家前你究竟做了些什么,那么我们自动去生成一些规则。

所以 AI+IoT 就智能家居,就是实现某种对科技的无感,以及未来你离不开这些实际上并不复杂(或可能非常复杂)的科技。

最后一点,用户是最终端的部分。他们接触的是产品、软件(app)。产品和软件,如果在开发时尽责的话,应该让它们对用户隐藏细节。你为什么要让用户知道,你的智能家居“入口”是什么,你有个 Hub 或者你构建了一个多么高明的生态来完成这一切?这很奇怪。

这就好像,任何一个层级之间相互脱藕,是信息技术行业原本的特点:我做高级语言开发,我不需要去关心你 MCU 怎么为我实现这一切的;或者我做 app,需要用到你的 AI/ML 硬件资源,我理应不需要知道你怎么充分调动算力的/怎么抑制存储子系统带宽瓶颈的,那是你的工作。这和用户不需要知道,你的智能家居如何组建网络,如何连接 hub,如何与云互通,是一样的。

而目前,我上面所说的这些功能,智能家居都可以实现了,普罗大众却都还不知道,很大程度上就是源于开发者都没有尽责去“脱藕”:用户要花 20 分钟研究我怎么把这个灯泡,连接到 Zigbee 网关,你这个产品就足够失败。当然,这个问题的解决,大概可能需要更多层级来共同配合解决。还有市场教育或许还没到那一步,以及也可能是“智能家居”设备销售的切入点,或许应该是房地产商,而未必是终端用户:因为他们可能真的不大想去折腾。房地产商在卖房子的时候,就让这套智能家居的部署,与用户之间实现了脱藕。

这个时候,我们回过头来看看,你把电扇、灯泡什么的连到手机上,做个 app 就把产品上市了,还宣称我这个是智能的,这件事就会显得十分滑稽。这是我从前公司学到的一件事,我们老板就反复强调过,这事儿不靠谱。所谓的“易用性”,“易用性”这一点听起来特别官方和冠冕堂皇,其本质就是如何完成脱藕,以及用人类直觉和习惯的方式来完成操作、部署的过程。产品真的做好了“易用性”,那就是大牛了。

上博四楼陈梦家

来北京前去了趟上博,想看看家具,还有家具的主人。

即便工作日,上博人也不少。我排队入场,直奔四楼明清家具馆。

里面桌子,椅子,吸引力不大,我甚至觉得如果不是第一次来上博的人,很难专程来看。

当然,我对博物馆的情结也止步于某种「实证」,看到一本书,一部电影或是一段音乐谈到某个物件,自然想实地考证,和现实做个比对。

四楼人不多,或是缺少一楼青铜器的「阵列感」,人们总是稀罕不常见的物件。从明清家具的样式来看,对好仿古的今人来说,并不稀奇。

我看展,爱看前言。毕竟自己算艺术外行,前言作为展览少有的文字「导读」,就算看不懂接下来的艺术,文化,也好靠「导读」对展品来龙去脉懂个大概。

image-20191224231117306
上博四楼家具展前言

前言也点明了我此行的目的——陈梦家,赵萝蕤夫妇。

「你去走廊找找!」

四楼家具馆布局简洁,一大间,分为明清两个场馆。

48D27CF8-27D2-48A4-92FE-49928E72BF1B_1_105_c
明清家具馆

不过,在尝试自己找寻一番陈的家具无果后,还是不得不求助于工作人员。

我先问了明场馆的工作人员:「请问,陈梦家的家具在哪?」

他告诉我在清场馆,我随即问了清场馆的人,又告诉我在明场馆。

我跑回明场馆,问了另外一个人同样的问题。

「在走廊。」

走廊?我显然没搞清他的意思,或者说我没搞懂「走廊」这个词在展馆到底处于怎样的地理位置。不过他的手势,我看懂了,指着场馆外面,意思让我出去看看。

他的回答让我更加疑惑,我随后问了一个年长些的工作人员,他告诉我陈的家具不是无偿捐赠,所以展品没有标记名字,他也不确定具体是哪个,不过他可以肯定是在明场馆。

锁定了范围,就要借助互联网。

手机搜了几个关键字,看了几个链接,依照新闻中的图片,开始比对。好在大部分家具都能按图索骥地找到。

9E607E59-5CD0-4107-A6D5-63002055BA2B_1_105_c
黄花梨木五足内卷香几
69A308AA-770B-4978-AC98-C84187866274_1_201_a
黄花梨木圆后背交椅
E374D51E-4C9D-431C-98B5-3EE3465A3F0F_1_201_a
黄花梨木霸王枨条椅
29C114B0-7C39-4ED7-930C-2ACE58A04044_1_201_a
家具搭配展出

家具平淡无奇,如果陈梦家一生也能如此就好了。

陈梦家其人

了解到陈梦家,也是靠《甲骨文》一书,陈作为主线人物贯穿全书。

《甲骨文》借殷墟考古为背景,何伟带着他对陈梦家身世的疑问,展开叙事。

他找到了当年参加殷墟挖掘的考古学家石璋如,写下《一滴泪》的巫宁坤,上博原馆长马承源,百岁老人周有光,妻子赵萝蕤胞弟赵景心,举报者李学勤……

朋友,同事,亲戚,家人,政敌应有尽有。

或许只有通过这些人,他才能搞明白,这样一位学术泰斗的曲折一生。

陈梦家考古出身,是中国研究甲骨文的重要人物。其妻子赵萝蕤北大才女,曾翻译过惠特曼的《草叶集》。

钱穆晚年《师友杂忆》曾言:

有同事陈梦家,先以新文学名。余在北平燕大兼课,梦家亦来选课,遂好上古先秦史,又治龟甲文。其夫人乃燕大有名校花,追逐有人,而独赏梦家长衫落拓有中国文学家气味,遂赋归与。”

来北京后去了趟国博,国博一楼有甲骨文展,按照它的说法,中国甲骨文研究涌现过两次大的思潮,分别有两批代表人物。

第一批甲骨文奠基人以罗振玉、王国维、郭沫若、董作宾为代表,今人谓之「甲骨四堂」。

7A740D37-220E-4226-89C6-398AEF0BE110_1_105_c
甲骨四堂

第二批奠基人,今人谓之「甲骨五老」,陈梦家就在其中。

6FF90F29-3A2E-4965-879B-C6732CFF3D86_1_201_a
甲骨五老

从照片上可以看到,陈梦家最年轻,仍能看出青年时的飒爽。

遗憾的是,这样的国宝级知识分子未得善终。

1955年,百花齐放后的一年,肃反开始,陈被自己的助手举报有经济问题,贪污公款。两年后又被打成右派,定性为“章罗联盟”,紧接着十年浩劫,陈不堪受辱,于1966年自缢身亡。

「我不能再让别人当猴子耍。」

陈不仅学问上难有匹及者,而且才情、性情浪漫,陈是新月派诗人,师从闻一多,不好拉帮结派。

陈在写下甲骨学巨著《殷虚卜辞综述》后,拿了巨额稿费,在美术馆附近的钱粮胡同买了房产,这就糟了人嫉妒,各种举报纷至沓来。

李学勤当时作为他的助手,也是举报的一员。

除了政治上的诬陷,李学勤还对陈的《殷虚卜辞综述》做了学术上的贬低。

史学家杨宽反问:

为什么在政治上对他进行陷害的同时,还要贬低他的学术著作的价值呢?事实上,(《殷虚卜辞综述》)学术著作的价值是有目共睹的,历史将作出公正的评价。

李学勤后来解释说当时自己受了考古研究所的压力,必须要写这种东西。

加害者与受害者,前者总是让人难以同情与理解。

最后,就像太平湖的陈年水墨,陈带着古典知识分子的体面与讲究离开了,享年55岁。

赵景心,强拆之下

其实,上博家具馆前言写到的「上博2000年斥巨资征集了陈夫妇的家具」并不准确,也有误导之嫌。

陈1966年离世,妻子赵萝蕤1988年离世,2000年卖给上博的其实是赵萝蕤的弟弟赵景心。

陈生前也曾要求将收藏捐给上海博物馆,不过赵景心夫妇后来将其26件家具以1000万元人民币转让给了上博。

赵景心晚年也并不顺达,他在北京的四合院岁数「比美国还老」,当时面临强拆威胁。

不过,两次诉讼,赵景心均已失败告终,包括当时的文艺界也向社会呼吁,保护文化名人赵紫宸及其女赵萝蕤的故居,老舍之子舒乙也曾为其发声,但仍未抵挡得住挖掘机的铁铲。

2000年,这座明末清初的小院,就此拆除。在这儿的东厢房,赵萝蕤完成了惠特曼的《草叶集》和艾略特的《荒原》翻译。也是这一年,赵景心决定将陈梦家家具卖给上博。

北京市美术馆后街22号院现为中医医院

何伟其人

在杨显惠和章诒和笔下,这样的悲情故事并不少见。

人在接受这些故事时更多是一种无力感,不是对受害者境遇的无力,而是对自己想象力的无力。

但这类故事看多了之后,也会逐渐麻木。血淋淋的现实虽然可怕,但禁不起反复冲刷。

不过,作为「中国三部曲」的最后一部——《甲骨文》还是能于麻木之中刺痛读者,除了苦难叙事之外,还多了一层追问——一种不习以为常的追问。

近年,上海译文引入不少优秀外国作家写中国的书,他们旅居中国,记录所看、所行、所感,有的幽默,有的落寞。

比如《东北游记》里的迈克尔,中国人对他好奇,为此,他只好每次都条件反射地主动打招呼:

美国人,属鼠,身高一米八六。

上海《长乐路》,几代人命运的曲折交错,读完故地重游,倒是能找到一些凄凉。

B84CD5C9-CF3E-4259-9E4D-2373488BE876_1_105_c
《长乐路》中的锦乐花店

很多人觉得,外国人写中国写的好,是因为其特殊的外来视角,譬如王路谈天赋的一篇文章认为:

如果让他和美国作家比写美国题材的作品,他未必能胜出;如果让他和中国小城居民比对中国小城的了解,他也不能胜出;但如果用英语,以美国人的视角写中国小城,他就胜出了:一般美国作家写不了,中国小城居民也写不了。那这样的作品,非得由他来写不可。

何伟首先是个文化人,其次是个西方人。他确实具备这样一种「外来视角」来看中国,从而发现,对比,呈现。

但这样的归因会不会太简单?照这么说,我们写美国,巴西是不是也有特殊视角,更能鞭辟入里?

其实,优秀的文学作品,关键还是在于能否打动人心。

巴金在《随想录》提到:

我认为打动人心的还是作品中所反应的生活和主人公的命运。

从涪陵纪事,寻迹长城,到甲骨文,何伟对中国的了解越来越充分,足以支撑他对陈梦家宿命的追问。终曲《甲骨文》借助多线叙事,看似零散,实则以点带线,串线成珠,从陈梦家的朋友、亲人、敌人多角度还原出一个立体人物。

对于一个已经对那段苦难熟悉到麻木的人来说,如果一个作者还是能通过类似的题材打动你,这说明作者具备很强的历史还原能力, 以及对主人公悲欢的深刻见解。

除了外来视角,还有什么?

我不相信一个人如果只是具备「外人视角」,就可以讲好异国故事。中国三部曲背后一定有其他更值得探究的成因。

先来看看何伟本人好了,普林斯顿大学英文系出身,后来又在牛津大学研习英国语文与文学。正统科班出身保证了写作专业性。

其次是良好的家庭教育。何伟的父亲是社会学家,他从小就跟随父亲学会了一套社会学研究方法:「要会采访,会讲故事,对什么人都感兴趣,才能和人打成一片,当一个好的观察家。」

何伟有很强的主动和人交流的能力,尤其是知道如何不让别人误会自己的诚意。在《寻路中国》中,体现最为明显。包括他和三岔村民魏子淇,企业家,租车公司老板的交流都能看出。

何伟敏锐的观察力,同时可以帮助他洞悉周遭的某种奇特运行机制:

在中国生活中很多事情都要打制度的擦边球。其中最基本的真理就是,事后原谅比事前许可要简单得多。

这种敏锐的观察力其实还受到了父亲的老师——牛康民影响。

60年代,何伟父亲在匹兹堡攻读社会学博士学位,当时有一位老师叫 peter new (牛康民),何伟自述,其英文名彼得·海斯勒正是源自这位老师。

image-20191226232511698
牛康民和何伟

何伟回忆,这位父亲的老师嗓门洪亮,很喜欢讲故事,爱说话,爱观察。

值得一提的是,从牛康民身上,我们还可以一窥当时中国变革下的动荡起伏。

牛康民的爷爷牛尚周,1872年作为清政府第一批官派留美幼童赴美国留学,后就读于麻省理工学院,1880年回国。1886年(光绪十二年)牛尚周撮合妻妹倪桂珍与当时被派往中国传教的宋嘉澍,并由此成为了宋嘉澍的连襟。

“牛尚周”的图片搜索结果
最右为牛尚周

而宋嘉澍正是民国著名的宋氏家族家祖,子女有宋霭龄、宋庆龄、宋子文、宋美龄、宋子良、宋子安。

牛康民的父亲牛惠民,1928年,牛惠民与兄弟牛惠霖一同创办上海骨科医院,成为中国最早的骨科医院。

image-20191226233558202
中间为牛惠民

上海骨科医院原址为岳阳路190号霖生医院。

878C7053-5624-4B8E-AD6A-0AEB1252FF70_1_105_c
霖生医院旧址

何伟坦言,自己从牛康民身上得到的中国认知是模糊,间接的,更重要的是其沿袭下来的社会学观察本领。

良好的家庭教育,科班的写作训练,自由的思想,洞悉的观察,以及对未知事物的好奇心,推动着他落笔于巨大变革下的细微变化,他的书里,不是巨头公司,也不是帝王将相,而是他的学生们、农民魏子淇、考古学家陈梦家。

至于外来视角,有多重要?本土视角难道不能更好地叙述?

还是说当我们仰望高手时,已经忘了自己的崇拜之情是出于认可与欣赏,还是对自己视角僵硬,思维局限所产生的懒惰,骄傲而找的借口。

这几个学术写作工具,或许可以帮你赢得审稿人青睐

一篇优秀的英文 EI / SCI 论文,除了要有新颖的创新点和严密的实验方法外,或许还有一些细节需要我们关注。

你着手写一篇论文,看到各出版社不同的排版要求,该如何下手? Word?Markdown?抑或是更专业的 Latex?

无论你是理工还是文、商科,一篇论文如果只是文字,未免有些枯燥,不如做个能让人眼前一亮的配图来呈现你的实验数据与结果。

在这个仍以英文为学术主流书写语言的时代,如何保证你的论文语法通顺、词句无纰漏?要知道,拙劣的语法与词汇可是期刊拒稿的很大原因。

层层细节到最后,都会决定你的论文能否打动审稿编辑。所以,除了要关注实验本身,科研人或许还要顺手点亮些技能,这样才不会因小失大,白白付出苦熬实验室时的时间与精力。

幸运的是,随着学术写作工具的不断涌现,这些技能的学习门槛越来越低,各位科研勇士大可把更多精力放在研究的要点和实验结果上。

本文会在论文排版、制图、英文润色三部分介绍相应工具及技巧,下面就开始我们的学术写作速成之旅。

排版:脉络与格式

首先,我们来聊聊排版。

大部分学术期刊都要求作者提交一个已按期刊要求格式排好版的 PDF 文件,很多人第一个想到的就是用 Word 来排版。

虽然 Word 是一个比较成熟的排版工具,界面与功能还算完整清晰,但排版后的结果仍有很大的不确定性。

这种不确定性可能来源于不同的软件版本与操作系统,但最大的不确定性还是来自于作者的 Word 使用技巧。

一篇惊世之作万事俱备,急于与审稿人碰撞出科学火花,竟然被鸡飞蛋打的格式困住了,连编辑这关都过不去,想必每个人都不希望看到。那么,有没有一种办法可以快速按照期刊要求的格式进行排版呢?

可能很多人已经注意到了,一些期刊提供了基于 Latex 的模版包,供读者用以排版。Latex 是在 Tex 语言基础上的一种排版系统。和我们所熟知的 Markdown 一样,Tex 也是一种标记语言。与之不同的是,Tex 的语法稍显复杂,可以支持更多复杂格式。

使用基于 Latex 的排版工具,在模版包的帮助下,不但输入数字公式时更加简便,而且不用挨个调整参考文献的格式,以至于短时间就能生成一篇格式规整,排版精美的论文,作者的内容可以精准而迅速地表现在这个 PDF 文档中。

我们在这里以电气电子工程师学会(IEEE)旗下的期刊为例,假装一把学术大佬,下载 Transaction(IEEE 旗下比较有影响力的期刊系列) 的模版:

模版

可以看到,模版下载下来是一个压缩文件。

img
Transaction 系列期刊的 Latex 压缩包

模版下好后,我们就需要一个排版工具,这里最推荐的是云端工具 Overleaf,它可以即时保存,云端备份,历史记录可追溯,多平台等,跑在浏览器中的 Overleaf 最大的优点就是无需安装软件,解放硬盘。

并且,它还支持 Google 、推特、IEEE 等多账号登录。

img
Overleaf 登录页面

现在,我们注册完并登录 Overleaf ,就可以开始我们的排版了。

首先,我们先新建一个项目,将刚才下载的模版压缩包导入进来,Overleaf 可以帮你自动解压。

img
Overleaf 新建项目

这里可以看到,Overleaf 还支持 GitHub 导入,同时还自带了很多模版:journal、book、letter等。

导入之后,Overleaf 会自动进入项目,可以看到,模版压缩包中有多个 .tex 文件,代表包含了几种模版,我们选择期刊模版对应的 .tex文件(bare_jrnl.tex)。然后点击右边布局上方的 Compile 按钮(有时会是 Recompile),可以看到该模版渲染后的初始样式。

img
模版渲染效果

Overleaf 在页面布局也较为常规,最左列为文件结构,中间修改,最右预览。

可以看到,模版中,基本的结构已经划分好了,我们所要做的,就是要在 .tex 文件中把自己的内容填进去,模版中已经给了非常明确的提示。

img
模版结构

除了源文件之外,这个工具还提供了富文本预览(类似于代码高亮)的贴心功能,还有一些格式快捷键可供选择,如加粗、插入数字公式、有序/无序列表等。

img
富文本预览效果

当然,我们输入的文本需要遵循 Tex 语法规则,以下是一些常用格式及规则。

空格{} 或 \
字体大小\tiny{}, \scriptsize{}, \footnotesize{}, \small{}, \normalsize{}, \large{}, \Large{}, \LARGE{}, \huge{}, \Huge{}
斜体\emph{} 或 \sl{}
一些需要转义的字符%->\%,_ -> _,# -> #,& -> &,{ -> {,} -> }
行内公式​$…$
换行\

一篇论文除了文字,还包括图片、表格、无序列表、伪代码和参考文献等等,使用 Latex 都能快速并优雅生成。

上传图片的方式也较为常规:

img
上传图片

上传好我们的图表之后,我们在 documentclass\begin{document} 之间通过命令\usepackage{graphicx} 添加图片的包。

然后在正文处(此处以引言为例)添加一段插入图片的指令,包含图片宽度,文件名称、图片标签名称和注解信息,然后点击编译,图片就出现在右侧 PDF 的预览中。

如想在文中提到该图片,需使用 \ref{图片标签} 进行绑定,Latex 会自动生成该图片对应的编号。

img
插入图片的效果

对于独立行并编号的公式,则可以放置在\begin{equation}\end{equation} 之间,同样通过 \ref{label}引用。Overleaf 网站中也提供了一些 关于数学公式的教程,可以参考相关语法。

img
插入公式的效果

类似地,一个简易的三线表的格式如下所示:

img
插入表格的效果

以上,论文中的一些常见要素基本就已经介绍过了。

但还有一个令 Word 选手最为棘手的环节,就是参考文献

在基于 Latex 的排版系统中,参考文献主要放在以 bib 后缀的文件中,但是内容是怎样的呢?我们以 artificial intelligence 为关键词在 Google 学术中查询一篇文献为例,假设我们相中了这篇发表于 Nature Medicine 上的论文,点击引用后选择 BibTex:

img
引用一篇文章

然后,我们新建一个bib文件,再上面网页跳转后生成的内容粘贴进来。

img
新建 bib 文件

红框中的内容是该文献的引用标签,在文中需要引用的地方输入 \cite{标签} 就可以完成引用。由于标签代表了该参考文献,因此 bib 文件中的内容无需有序,且会按照期刊的规范自动编号。

img
插入参考文献效果

通过以上几步,一篇格式规整,排版精美的论文 PDF 就顺利生成了,不仅节省了时间精力,还可以轻松查询论文修改的所有记录。

img
论文修改记录查询

Windows 平台和 Mac OS 平台也有相应的 Latex 排版软件,比较有代表性的是 Windows 平台的 TeXstudio 和 Mac OS 平台的 MacTex,使用方法与在线平台 Overleaf 别无二致,不再赘述,下图为 TeXstudio 的使用界面:

img
TeXstudio 界面

好的排版工具自然也是顺手的写作工具,它们可以帮我们缕清脉络,同时也能帮我们更专注在要写的内容而不是格式上。

绘图:灵魂与亮点

如果说思路脉络是论文的骨骼,那么图表就是论文的灵魂。

数据可视化图表:Echart

img
论文中的图表

论文,就是将你所做实验进行阐述、记录、归纳的一次书面沉淀。所以,典型的理工科论文必然会有大量的实验数据,这个时候,可视化图表就派上了用场。

论文中的图表不仅要表意清晰,还要注重美观。学术写作常使用一些编程语言完成绘图功能,如 Python,Matlab 等,但这些工具对于非 Computer science 的科研人来说,会有一定的上手难度。而且这些编程工具绘图的用户体验也不能算好,不能满足「所改即所得」的实时性要求,更达不到对比的连贯性。

这里推荐百度出品的第三方可视化 javascript 库 Echarts

在 Echart 网页上,我们可以使用自带的官方模版快速生成图表,支持各种精细配置,简单易用。官方实例不仅给出了折线图、条形图、饼图、散点图等等基础图表,还提供了盒须图、热力图、平行坐标系图等较为新颖的图表模版,基本可以囊括论文对于结果数据展示的需要。

img
Echarts 提供的丰富图表

点击任意一个模版,左边是用户修改的区域,主要内容是 json 格式的图表的配置项,右边是根据用户修改实时显示的图表预览。右下角提供了三种默认的配色方案,由于不提供云端保存功能,因此在切换配色方案之前需要事先保存左边的内容。

图表生成之后,我们如何得到这个图片呢?我们对其左边配置项进行简单的修改,然后在 toolbox 配置项中添加可以保存图片的功能。点击右上角的下载按钮图片就会以 png 的格式保存:

img
使用 Echarts 生成图表

如果不喜欢官方提供的配色,还可以在配置项里进行详细的设置,配置项在文档中有详细说明。

img
Echarts 配置项文档

虽然,Echart 需要一定程度的前端基础,但不深。之所以推荐 Echart 也是因为它提供了比较完整的官方案例,就算没有多少前端知识,对着左边配置项改改参数折腾折腾也可以得到不错的图表效果。

当然,如果实在对编程特别抵触,tableau 也是一个不错的选择,上手难度不高,基本不用改参数,直接根据 Excel 表拖拽相应行列就行了,可以参考之前的 一篇文章

流程图/思维导图:ProcessOn

img
论文中的流程图

除了图表之外,论文中还会出现一些描绘结构和流程的示意图,此类图表可以更好地呈现实验方法的先后步骤。

在这里,推荐一个在线作图工具 ProcessOn ,支持流程图,思维导图,结构图,UML 图等等多种示意图,使用方法也非常简单,按照相应提示,尝试几次即可上手。

img
ProcessOn 的操作步骤

复杂示意图:sketch

img
论文中的结构示意图

在论文中,还经常会绘制一些不仅能体现步骤,还能表现数据特征,元素结构的示意图。

上图是描述两种神经网络结构及训练过程的示意图,从图中不仅可以看出方法执行的步骤,其中数据的组织方式以及网络的具体结构也一目了然。这样的图比流程图的结构更加复杂,元素的形态也多种多样,我们使用的是 Mac OS 平台下的设计绘图软件 Sketch。

Sketch 是一款矢量图绘制软件,具有和 PPT 相似的形状导入功能,并附有参考线,上手简单,以下是一个简单的例子:

img
Sketch 简易使用示意

可以看到,一些规则图形都能够通过简单的拖拽得到,修改填充和边框颜色以及长宽位置等属性也可以非常容易地进行修改。

图表作为文字与数据的抽象表达,可以更直观地向读者传达出你的观点,选择易上手的工具与合适的图表之后,还要注重美观、简洁,这样可以让你的论文更有亮点。

英语润色:保险

作为非英语母语的作者,英语近乎是最令人头痛的部分。令人惭愧的是,暂且不论流畅地道的表达,单是拼写语法,就能够牵扯我们很大一部分精力。有时圆睁双眼看上一整天,都不能发现其中若干的拼写语法错误,这时候我们就需要一个智能工具来帮我们查找并改正这些错误,在这里推荐一个英语润色工具 Grammarly,使用方式非常简单粗暴:

img
Grammarly 界面

并且它的插件可以集成在文本框内,在使用其他在线文本工具时,也可以方便地使用它的润色服务:

img
集成在文本输入框中的 Grammarly 插件

如果更正拼写及语法错误的简单功能不能满足你对于润色的需要,还可以使用人工润色,当然是需要加入会员并支付一定的费用:

img
人工润色入口

结语

一篇学术论文,操作周期上大概要 1 到 3 个月,这也决定了它和其他写作形式的不同之处:周期长、琐碎、强度高。

我们在写学术论文时,相比于前文提到的诸多细节,还应把更多精力聚焦在实验的思路,方法上,只不过是有些时候,众多琐碎总是会牵扯我们的时间与精力,而无法集中在将「实验完整还原在书面上」这一最基本的任务上。

也就是说,工具只能起到部分去除干扰的作用,论文能否在心水的期刊上发表,还要取决于实验本身以及你的呈现方式上。

至于科研捷径,应该是没有的。

如果说真有什么窍门,周末投论文好像不是好主意,周二周三倒是不错。

感谢 Dr. Li 对本文的大力支持,本文首发少数派,同步 WEB VIEW,未经许可,不得转载。

信息的通货膨胀

奥威尔谈到小说衰退的原因在于:

小说因为受到大肆吹捧反而丧失了存在。你问任何一个有思想的人,为什么他「从来不看小说」,你往往会发现,归根到底,那是因为腰封评论家写的那种令人恶心的陈词滥调。

甲写了一本书由乙出版,再由丙在丁周刊上写了一篇评论。如果评价不好,乙就会抽回广告,因此丙就不得不吹捧「令人不能忘怀的杰作」,否则就要丢饭碗。

所以,腰封评论家大多不能说真话,如果不是付钱要他写评论,他一句也不会写,而且几乎毫无意外,他能写的唯一真话将是:此书引不起我任何感想。但是,会有人出钱要你写这种东西吗,显然不会。

腰封评论家必须为一本对他毫无意义的书炮制大约三百字的文章,通常,他先把故事情节做一番简述(这无意中向读者泄漏了他根本没有读过此书),然后再说几句捧场的话。

一个扣人心弦的激情故事,一部震撼心灵的精彩杰作,一部令人不能忘怀的史诗,足可以与语言本身长存不衰。

尽管都是赞美之词,却如妓女的笑容一样没有价值。评论家不得不在一台没有尽头的形容词阶梯上不断往上爬。

遗憾的是,小说评论的「升级」现象,如今越来越常见,甚至入侵信息领域,标题作为一条信息最直观,最高度的概括,首当其冲受到侵蚀。

通货膨胀与信息之海

从货币角度来看,标题党的本质在于语言文字的通货膨胀。原来1块钱能买的东西,现在要花10块才能买到。人们接受语言描述的阈值在提升,而语言描述事物的能力在衰退,同时又没有更精准、更有力的词被造出来,所以,我们词用的越来越大,也越来越不值钱。

这种语言的通货膨胀绝对不是中文所独有,全世界最流行的英语,贬值率更高。

Great 取代 Good,Wonderful 取代 Great,Incredible 取代 Wonderful,Awesome 也随处可见。

英语评价体系的贬值或许和西方人的「客气」离不开关系,你做完一件事,他说你 Good,其实可能只是 Just so so 的级别,但是他们觉得需要客气一下,自然 Good 原有描述精度就下滑了,从而拉着比它更大的形容词下滑。

语言有通货膨胀,按理说也有通货紧缩,不过这种紧缩更多以一种谨慎或不愿意让人轻易发现的意愿传播,比如在给某产品的软文中,好的地方自然可以大书特书,不好的地方只好一笔带过,说某某功能实现较可,很有可能潜台词是交代读者这里不能说太细,建议读者从通货紧缩角度来理解,即一般等同于较差的意思。

当然了,无论中文还是西方语境,语言的通货膨胀绝对不是因为「客气」这么简单,而在于腰封评论家对一般作品的较高评价,提升了底层作品的评价基准,同时也提升了所有作品的评价基准。

他们为何要对底层作品较高评价,原因在于写小说的门槛在降低,从事小说行业的人在增多,为逐利而作的小说也越来越多,但这些产业化、标品化的小说并不具备可变现的上乘质量,所以只好找各类吹鼓手做腰封评论,确保销量,不至于回炉重造,印好的书压成纸浆。

在当下互联网的信息流动中,这种现象更为明显。

我们现在每天接触到的信息大概要比古人几月甚至几年接触到的信息还要多。这得益于互联网基础设施的完善,信息的硬件池子得以越做越大,里面能装的信息也越来越多,它也早已从信息之池泛滥成信息之海,再随着技术进步带来的信息高速流动,这片信息之海更加波涛汹涌。

信息货币化

除了高容量、高流动之外,信息之海的另一特点就是信息「货币化」。人们发现,为他人提供资讯、角度、观点可以获得收益。按理说,你为他人提供信息增量,扩展他人的某些未知,获得收益无可厚非。

但正如大多腰封评论家的谄媚不是出于本意,而是满足行业其他环节的下放要求。发现信息可以挣钱的人越来越多,人们开始争先恐后的涌入信息海洋,每天生产大量的信息,寻找挣钱机会。

从供需关系来看,供给方大量涌入,如果没有匹配足够的需求方,很容易造成供需失衡。人有限,精力有限,而信息无限。这样一来,信息之海就成了需方市场。

过载的信息总要找到足够多的宿主,才能成为他们向广告主耀武扬威的资本,这样一来,信息提供方之间必然有一场恶战。遗憾的是,这场恶战并未以「质量战」为前提开打。

信息时代,时不我待,但如果是一个后信息时代,信息到处过载,从稀缺性角度来看,大多数信息则不再值钱,对于信息需求方来说,自然不会将大部分信息当成重要决策的关键参考,他们会信任更稳妥的信息渠道,比如朋友,家人,接触到的行业中人,或者新闻联播。

剩下的信息对他们来说,就没那么重要,更多是消遣价值。信息提供方确实可以将精力放在提升信息质量上,但是值不值得做,就是一个成本问题。如果只是消遣性的信息,更具性价比的方式则是将人们的注意力吸引过来。猎奇、劲爆、绝密、罕有,这些词汇自然占领了信息传播的高地。

当然也不必悲观,任何时代都会有高追求的信息提供者,他们不盲目追求瞳孔,而回归质量。但这也不代表他们要优于标题党,而仅仅是个概率问题。

瞳孔陷阱与感官馒头

可事已至此,想打质量战的信息提供者,也未免要落入瞳孔陷阱。一个恶意竞争的环境,大部分人在追求如何吸引人注意力,身处其中的任意个体都无法逆这样大的趋势。一个馒头卖5元的时代,你再没办法用1元买到。

不仅是信息提供方,信息接受方也深受其害,他们就像药物成瘾者一样,对于过量用药已经无法自拔。他们不关心馒头是卖1元还是5元,而是馒头越大越好。

馒头越做越大,到最后你已经说不清是做馒头的人刻意为之,还是吃馒头的人胃口在变大。

不过可以肯定的是,长时间,高频次地接受感官馒头肯定有害,这种不可逆的损害体现在自己很难再接受低刺激的信息。

但高质量的信息往往不会有过多刺激环节,因为信息的第一要义是从交换不同层级认知出发,信息本身没有传播上的义务。高刺激信息(比如标题党)大多是对人们预期的欺骗,作为信息头阵的标题往往可以拟的很大,它们或是造谣生事,或是断章取义,放大局部事实,抱着写到就是赚到的心理得过且过,这本质上是对信息传播的滥用。

关掉水龙头

正如新闻在这个时代的衰亡一样,我们从互联网接触到的新闻其实早已失去了原先新闻的某些特质,退化为「资讯」,而仅仅保留新闻「新」的概念。

如果从这一角度来说,看新闻就显得没什么价值,并且浪费时间。因为现在信息传递的方式从以前人们主动获取变成了被动获取,「推送」一词很好地描述了这层关系。所以,我们其实并不需要担心错过某些要闻,因为就算你逃过了各种资讯提供者的推送,你身边的朋友也会通过社交媒体表达他们对某要闻的看法,从而让你间接知道某要闻的发生。所以,漏看新闻在这个时代已经不存在了。我们真正应该考量的是,如何关闭尽可能多的信息水龙头,来筛选真正有价值的信息。

5G开始兴旺,各种畅想应运而生,但值得注意的是,无论4G还是3G,对于普通人来说,最明显的还是对信息传递上的感知:从图文、音频到视频,网速越来愉快,资费越来越低,信息生产与传播的门槛逐年降低。但信息作为「互通有无」层面的意义也逐渐被消解,而更多基于泛娱乐化,信息逐渐成为打发无聊时间的下等工具。

可控核聚变或许短期不会实现,但可以预见的是,科技的进步一定会催生更多信息梭麻的流行与占位。

谈写作动机

写作者首先要问自己的问题是:我为什么写作?

在《我为什么写作》书中,乔治·奥威尔列举了他的四大写作动机:

  1. 自我中心。为大家谈论,死后留名,向那些在你童年的时候冷落你的大人出口气。
  2. 审美方面的热情。欣赏外部世界的美,或者,在另一方面,欣赏词语和它们正确组合的美。享受一个声音的冲击力或者它对另一个声音的冲击力,享受一篇好文章的铿锵有力或者一个好故事的节奏明确。希望分享一种你觉得是有价值的和不应该错过的经验。
  3. 历史方面的冲动。希望看到事物的如实面貌,找出真正的事实把它们存起来供后代使用。
  4. 政治方面的目的——这里所用「政治」一词是指它的最大程度的泛义而言。希望把世界推往一定的方向,改变别人对他们要努力争取的到底是哪一种社会的想法。

可以看出,奥威尔的动机1和动机2都是满足自己的需求,而动机3和动机4则是通过写作满足他对世界的某种期望。

回答完为什么写作之后,自然要回答下一个递进问题:我为谁写作?

对于奥威尔来说,愉悦、审美是为自己而写;记录、推进则是为他人而作。

为自己写作其实是一件自我满足的事,博客也好,公众号也好,都承载着自己记录、吐槽、倾诉的目的。

史蒂芬金认为:

写作不是人生,但我认为它有时候是一条重回人生的路径。

在他看来,写作是一种坚持信念的行动,是对绝望的挑衅和反抗。

为自己写作固然是好的,但对于有进取心的写作者来说,仅仅将读者局限于自己,很容易用力不足。

1. 缺少评价标准

写作者如果缺少读者反馈,首先很容易落到无法「碰撞」的局面中。

人的进步需要碰撞来获得反馈,就像小球在做布朗运动,有时你很强,你会碰赢别人,有时你很弱,你会被碰翻在地,但这无妨,知道缺点继续改进,改日再战即可。

但无论怎样,一个静止不动的小球永远不会知道自己的软硬,因为它一开始就放弃了「碰撞」这种最基本、直接的评判标准。

写文章也是一样,一篇文章发出来,你觉得很满意,但很多时候这种满意是「完成」式的满意,你写完了它,你有成就感,但这种成就感不一定代表文章的质量,也不一定代表文字满足逻辑自洽且有很高的讨论价值。

所以,如果你的写作只是为了给自己看,这从最开始就失去了一种最原始的互动与评价体系。

当然,你或许会担扰文章分发所带来的不良后果,比如不理性的讨论,阴阳怪气的嘲讽,断章取义的曲解都会让你感到难过。

但这就是一种既定事实,一种一定会出现的概率问题。

巴特在《作者之死》中谈到:

作品在完成之际,作者就已经死亡,剩下的文化创发工作,就是读者的权利了。唯有作者死亡,读者才能诞生,所有阅读活动,都是读者心灵与一个写定的「文本」的对话,价值就在这个过程中被创造出来。

文本使作者意图成为读者阐释的当下话语,文本不再是属于作者的作品而成为属于读者的文本。

敌意总是难以避免,但写作者不能因为害怕就拒绝碰撞,因为只有人看你的文章,才会指出你的问题,才会告诉你怎么改,如果你没有一个耐心的编辑朋友来帮你把关,那我还是建议你把文章发放到垂直社区,做同行互审。

比如你写c语言的内容就放到c语言的网站,这样可以保证看你文章的人,最起码了解你所写的内容,他们有资格评判你文章的质量。

你也需要将文章尽量分发在读者知识储备并不弱于你的平台。

当然,能否友善讨论也是一个问题,如果对方谈的问题你确实存在,只是语气不好,你可能也要接受。对于恶意的评论者,你也不要过于关心,你唯一需要关注的就是他们所批评的事实是否真的成立。

2. 缺少压力

写给自己看,除了缺少必要的评价体系之外,第二个问题就是容易没有压力,这个问题源于作者自身。

缺乏评价体系,自己也无所谓写的怎样,这种无所谓会让你感到轻松,写作应该有压力,但压力不是动力,而是监督力,这种监督力会让你提心吊胆,不敢应付。比如你想让别人给你做同行互审,你首先要做的是尊重你的同行,也就是你的文章不能出现逻辑性的错误,引用的数据要准确,不能含糊,这样可以把一个态度先摆出来,至少文章是用心写的,你的谦卑也会影响到同行对你评判的语气上。

文章写一遍就发出来是远远不够的,你需要反复修改,反复求证,这样才不会被别人轻松地找到漏洞。

没有压力还容易放弃,反正是写给自己看的,如果现在不想写了,也没有什么关系。

3. 缺少价值

最后一点,也是最想谈的一点,无论是文字、播客(声音)、vlog(视频),我们每天能看到的内容其实不少,但有价值的不多。

什么是有价值的内容?是文字的巧妙组合?还是音视频的精致剪辑还是内容本身的实用性?

我认为只要你的输出不完全属于「日记」范畴,就有价值,只不过价值有大有小。

什么是「日记」范畴,比如我看一个vlog,半个小时看主播吃一个鸡腿,这样的视频对主播来说或许是一种记录,但对我来说显然意义不大,这并不是视频本身的质量问题,而是这些内容没有达到我的预期,我希望的是,消费的内容最好有一定的信息增量,或是有新鲜的观点或角度,或是能带来某种愉悦与放松

最怕的是什么,最怕的是文字没有参考性,没有增量,读者读完很后悔,因为你的文字只是你自己的事情,与我无关,我不关心,你没办法让我共情,你的这次文字登场就是失败的。

那什么样的文字有价值?

从当下互联网环境来看,我们或许缺少一些文以载道的文字。

我们很多时候非常抵触被教育,被教做人,但很多时候,我们并不抵触真理,抵触的只是那些你看不惯,与你价值体系不符的刻板说教。

「我当然会做人,只是不想像你那样做人」。

今天看来,中文互联网文以载道的文字并不多,对当下社会抱有期望的写作者应该通过写作来占领舆论高地,如果你本有这个能力,有这个机会,你不站上去,就会有其他怪鸟站上去,然后聚集更多的怪鸟,我们的网络讨论环境就会变得越来越糟糕。

当然,你深思熟虑写出来的文字,不见得一定会让整个讨论空间更加良性,只是你的缜密逻辑会影响到将要发言、站队的人,从而影响他们的发言方式,讨论公共事务的方式,就像下雨天开雾灯是给来车看一个道理。

总之,一个有追求的写作者,最好不要仅仅停留在「写给自己看的」上,希望你在保证写作质量的前提下,尽量多的去找反馈,这样才能坚持下去,并能不断改进,甚至获得一些物质收入,反哺你的写作,从而更坚定自己的写作决心,多从舆论高地上赶点怪鸟下去。

毕竟奥威尔也是这么想的:

我所以写一本书,是因为我有一个谎言要揭露,我有一个事实要引起大家的注意,我最先关心的事就是要有一个让大家来听我说话的机会。

爬取2000篇少数派文章,这是一份可视化踹门教程

KEY POINT:

  • 少数派 Matrix 精选2000篇文章
  • 677位作者
  • 110K 点赞,45K 评论
  • 时间跨度780天(2017.3.27 —— 2019.4.23)
  • 从数据角度分析:如何写一篇受欢迎的文章?
  • 无需任何编程基础
  • 教程全文9K 字,配图70+,前四章主讲实战工具用法,五六章为可视化的一些方法论

零、数据可视化效果预览:

点赞评论双轴图
单篇文章点赞数集中在0到50
实操教程类文章最受欢迎
理财类作者也谈钱最受欢迎

一、前言

这不是入门,而是踹门教程,要的就是立竿见影的上手速度。

我们处在一个高度信息化的时代, 时刻都会在互联网上留下大量的访问痕迹——数据,小到日常的消费账单,大到一笔一笔的银行流水。

这些留下来的海量数据无疑是对现实世界的简化和抽象表达,但对于大部分人来说,它们只是 Excel 里面的行行列列,不仅可读性差,而且晦涩难懂。

如何提高数据的可读性,很大程度上取决于你看数据的方式,解读数据的方式。

比如,我们可以将抽象的数据再抽象,经过二次抽象的数据变成了图表,反而可读性更高,更利于人们理解。

提到数据可视化,Python、R、D3 甚至是 Excel,能够产生美妙图表的工具数不胜数,但它们大多都有一些技术门槛,要求你至少有一些编程基础,这对于非科班出身的人来说,并不友好。

所以,我希望能减少对技术的依赖,去寻找一些优秀工具,同样能获得不错的可视化效果。

本文需要用到的工具分别如下:

  • 数据收集工具 Chrome 插件:Web Scraper
  • 数据简单清洗工具:Excel
  • 数据可视化工具:Tableau

正文开始。

数据可视化,正如提到的三个工具,它们也代表了可视化的三个阶段,收集、清洗、可视化。就像记者需要提前掌握大量信息,才能更好地接近自己的采访对象一样,数据可视化中比较繁琐的步骤也正是前期的数据收集和清洗工作,由于工具的辅助,可视化反倒不难。

可视化始于数据,有现成的数据最好,但大多时候需要我们自己动手收集,比如文章开头的 Matrix 文章数据。

举个例子,我们现在想对少数派 Matrix 文章进行一个简单的数据分析,观察少数派网页后发现,可以采集到以下数据:

  • 文章标题
  • 文章作者
  • 点赞数
  • 评论数
  • 发布时间

如果我们将数据粗略分为数字和非数字两种,点赞数、评论数以数字(度量)的形式出现,而标题,作者则可以看成非数字(维度),发布时间也是一种非数字(维度)。

我们暂且先对要采集的数据有一个简单的认识,后面用 Tableau 可视化时还用得着。

二、数据采集:Web Scraper

拿到数据是我们的第一步。

我们打开少数派 Matrix 网站首页:

图中红框部分就是我们需要采集的数据。

2.1 Web Scraper 使用流程

2.1.1 下载 Chrome 插件 Web Scraper:

2.1.2 然后打开浏览器的检查模式,或者快捷键 com+opt+i 打开操作台,点击 Web Scraper,并创建新的 sitemap

2.1.3 Sitemap name 起个英文名,URL 填写 Matrix 网址

创建好之后,我们开始选择要收集的数据。

2.1.4 创建选择器

我们先看下需要采集的数据都在什么位置:

可以很明显看到,少数派单篇文章展示上,最外层大框(DIV)把所有元素都聚合在一起,我们需要采集的信息都在这个框子中,所以在结构逻辑上,我们需要先建立一个最外层元素,然后再在其中选择具体的标题、作者等。

我们首先添加选择器,创建最外层的元素选择器,创建完之后选择左下角「save selector」。

这里需要注意几点:

  • Type 填 Element,意思是你定义它为母元素,我们需要其中的子元素(标题、作者等),最后下载的 Excel 数据才可以一一对应。
  • 勾选 Multiple,意思是收集页面上显示的所有文章数据。
  • 鼠标勾选 select 时,点选你要收集的单页面,一般从第一篇文章开始选,绿色表示确认中,点击后红色表示已选中,选完一个再选下一篇文章的区域,这个时候就会发现,页面中所有的文章都被自动选中了。
  • 选区正确的话,会在 Data preview 后显示 dl.artcle-card(DIV 的 class名)。

创建完母选择器元素后,我们需要在它里面创建子选择器来定位标题、作者、点赞等数据。

2.1.5 创建子选择器

我们从母选择器点进去创建新的子选择器。

设置子选择器的步骤和母选择器类似,只不过将 Type 改为 Text,并且不要勾选 Multiple。(所有子选择器都不要勾选此项)

采集作者信息:

采集标题:

采集喜欢:

同理采集完评论数后,我们可以得到这样一个选择器结构:

2.1.6 采集数据跑起来

等网页自动关闭后,就可以从 Browse 看到爬好的数据:(如果没有数据,可以尝试点击下下图中的「Refresh Data」)

2.1.7 下载数据的 CSV 格式:

以上是使用 Web Scraper 的一个基本流程。

2.2「加载更多」的翻页问题

但 Web Scraper 只能采集到浏览器目前能看到的数据,也就是一页面的数据,这明显不够。

如果想拿到更多的数据,就要向 Web Scraper 展示更多的文章。

回到网页,我们可以看到少数派使用「加载更多」来展示更多的文章内容。

我们回到母选择器中,修改母选择器的 Type 模式,将其改为 Element click,意思是需要机器自动点击「加载更多」来「翻页」,将更多的文章数据记录进来。

我们还需要让 Web Scraper 知道谁是「加载更多」这个按钮,和母选择器选区一样,在 click selector 中选中「加载更多」:

这时,从 Element 改为 Element click 后又有两个新选项:

第一个 Click Type 中有两个选项,图所示选项,意思是 Web Scraper 只会帮你点击一次加载更多,另外一个选项则是一直点,点到没有新文章为止。

Click element uniqueness 是指当「加载更多」中的字变成「什么」时,Web Scraper 停止爬取数据,比如文字改变,即「加载更多」变为「到头了」,Web Scraper 就会停止,选项还可以改成当 HTML 改变,CSS 样式改变等,Web Scraper 才停止,不过这里我们暂且选成 Unique Text。

我们再看下 Click type 这个选项,要不就只点击一次「加载更多」,要不就无限点下去,直到触发下面 Click element uniqueness 中的约定条件,不过这两种好像都不太符合我们要求。

点击一次肯定不行,数据不够,一直点下去,网页内容少还行,多的话确实需要等些功夫让 Web Scraper 跑完,而且 Chrome 是否稳定,是否会卡也是个问题。

我们能否只爬取部分数据,比如一定数量,2000条文章数据怎么样?

Web Scraper 本身并没有提供原生的解决方案,而且比较遗憾的是,当选择器 Type 是 element click 时也不能通过关闭跑数据的网页来终止数据,从而收集到部分数据。

不过我们可以通过 CSS 伪类做到。

我们先在母选择器随便选中一个文章页面:

然后在红圈位置改为:dl:nth-of-type(-n+2000)

如果这里不好理解,我们可以换种写法,可能更容易理解:

dl:not(:nth-child(n+2000))

二者含义相同,意思让 Web Scraper 只选中前2000项,前者写法要比后者简洁,优雅。

接下来别的地方不需要改动,跑数据,并将 Excel下载下来即可。

三、洗数据:Excel

我们跑下来的数据有时可以直接用,有时需要做一些处理,通常情况下,洗数据的难度不亚于爬数据,不过本次采集的数据相对来说比较干净,工作量不大。

我们可以先看下跑下来的数据。

前两列是 Web Scraper 自动生成的数据,对于后期可视化帮助不大,可以删去。最后一列的 date 看起来有些问题,有的单元格显示的都是「######」,这是由于 date 日期格式的不统一造成的:

  • 「#####」位置的日期格式:2017/7/4(我们想要的)
  • 其他位置的日期格式:01月21日(不正确的格式)
  • 没有日期:1天前(不正确的格式)

我们先将第二种格式转换成第一种,首先鼠标选中 date 整列,右键「设置单元格格式」,选择自定义,yyyy/m/d:

设置完之后,「####」中的数据可以正常显示,不过格式还是不统一:

我们再次选中 date 列,并点击 Excel 上方 Tab「数据」栏中的「分列」:

这时可以看到,date 格式已经统一的差不多,不过最近的文章,还有「一天前」这样数据格式:

我们可以通过 Excel 自动化处理,也可以自己处理一下:这里要改的数据不多,我们简单手动改下即可,比如将「一天前」改为「2019/4/22」,「两天前」改为「2019/4/21」,「11小时前」改为「2019/4/22」。(可以先鼠标选中日期列,然后搜索关键字「前」,可以快速定位到所有需要改的数据)

修改完毕后,date 格式已经统一了,然后我们开始最后一步:可视化。

四、数据可视化:Tableau

1. Why not Excel?

我需要先解释下为什么没有继续使用 Excel 来可视化。

其实,微软三件套中,Excel 的功能最为强大,定制能力最强,Excel 自带 VBA 编程环境,而且各种模版,各种函数,用好了就是一件大杀器,但遗憾的是,Excel Mac 版本的使用体验并不理想,暂且不说打开数据表格的速度要比 Windows 慢太多,更遗憾的是,Mac Excel 还是一个阉割版,比如 Mac 上就没有 Power Query 功能。

所以有必要再选一个 Mac 平台上的可视化工具。

2. Tableau:不止于可视化,更是BI工具

市面上可视化工具很多,国内也有很多网页端工具,方便,快捷。但我还是选择了 Tableau,首先它很好上手,其次它除了最基础的出图功能外,还提供了很多分析功能,也因此更接近一件半自动 BI(商业智能)分析工具。

Tableau 可以轻松创建和分发交互式数据仪表板,通过简单而有效的视觉效果提供对动态,变化趋势和数据密度分布的深入描述,Tableau 很容易理解为工作工具,其学习曲线非常温和,因为它努力为任何类型的用户提供其所有权力,甚至是那些以前从未接触过可视化工作流技术细节的用户。

对于工具软件来说,我认为大体分为两类:

  • 将业余「专业化」的工具
  • 将专业「业余化」的工具

前者如抖音、vue 这些视频工具,人们通过简单的操作也可以得到不错的效果。(业余专业化)

而 Tableau 则是面对那些不怎么具备专业技术的普通人员,让他们也可以通过简单的拖拽生成图表,它降低了数据分析的门槛。(专业业余化)

Tableau 是一个收费软件,不过我们可以下载它的免费 public 版本

下载好了之后,我们打开软件,我这里使用 desktop 举例,二者区别不大。

3. Tableau 上手流程

我们把已经下载好的 Matrix 文章 Excel 导进去:

然后我们点「转到工作表」:

可以看到面板上有三个大区:

先看第1大区。

这里需要先介绍一下,Tableau 将 Excel 中的数据识别为两种:维度、度量。

度量很好理解,大多数字都属于这一类,比如评论数和点赞数,图中后两个「记录数」和「度量值」是自动生成的,我们暂且不用管。

维度则是非数字,比如经纬度,字符串等,文章作者名、标题、日期都属于维度。

Tableau 的使用方法也比较简单,直接拖拽或点击数据到表3的行/列中,Tableau 会自动生成合适的图表。

比如我们可以拖拽「评论数」和「作者」分别到「列」和「行」:

点击右边的智能显示可以看到 Tableau 自动生成图表,比如我们选择水平条图表,智能显示的下方文字会提示你还需要再拖动哪些维度或度量才可以生成图表。

我们还可以点击上方的降序图标,让图表降序排列。

记录数是 Tableau 中主动生成的度量指标,它是所有数据的总记录,很多时候都可以用到它,比如我们现在将记录数拖拽到面板的第2区中的标签上:

图表也带上了具体数字的文字标签:

这个时候,我们还有一个问题,作者数量过多,导致图表过长,显示不全,出图效果不好,我们可以使用2区中的「筛选器」精简图表。

比如我们只需要总评论数的前20名作者,这个时候就需要用到排序,我们可以使用Tableau 自带的排序「快速表计算」。

先将记录数拖拽到2区中的标记面板,右键选择「快速表计算」中的「排序」:

再将计算好的总和(记录数)拖拽到上方的筛选器中,点击下一步,进入排序设定,我们设右区间为20:

这样图表就会显示一共前20列。

我们还可以在图表中添加平均值,中位数等辅助线。

将「记录数」和「作者」分别拖拽到列行后,点击左侧1区的「分析」,将平均线拖拽到右侧3区中,会如下显示,将线拖拽到第一个即可:

如果我们想导出图片,可以在软件上方 Tab 「工作表」中,选择导出图像,不过这样的出图经测试不如直接系统截图清晰:)

我们也可以将几张图表进行「拼盘」,也就是新建「仪表板」,在那里你可以将这些已经生成的图表进行排序,位置上组成任何你想要的样子。

如果还需要演示与交互效果,我们还可以将「仪表板」组合成「故事」。

其他的图表大同小异,大家可以自行尝试。

下面讲几个文章开头的图表做法。

4. tableau 实战

4.1 双度量图

这个图表使用了相同竖轴(作者),将点赞数和评论数展示在一张图上,优势是信息量比两张单图展示更大。

实现效果比较简单,分别将度量中的点赞和评论拖拽到3区中的列上即可。

4.2 散点图

散点图用来探讨两个变量之间的相关性,比如我们可以使用评论和点赞数制作散点图,找寻二者之间的关系。

我们从度量中将评论数与点赞数分别拖拽到3区的行/列中,然后在右边的智能提示边选择散点图。

现在,图上什么都没有,我们想在表中相显示作者信息,并且最好能从形状上看出作者与点赞之间的关系。

我们分别从度量中拖拽「作者」到2区的「颜色」和「标签」,不同作者就会用不同颜色显示,也会在图中显示作者名。

然后,再将度量中的「点赞」拖拽到「大小」,图中圆圈的大小就会反应作者收到的点赞量。

然后,我们想研究评论和点赞之间的相关性,我们可以在1区「分析」中引入「趋势线」

这里可以看到两个数值:R 平方值和 P 值。

简单解释下它们的统计学含义:

  • 显著性-P值:P 值小于0.05则表示结果解释为显著,P 值越小,模型的显著性就越高,两个变量的相关性越高
  • 显著性-描述模型- R平方:为模型解释的数据中的方差与数据中的总方差的比率,进行线性回归时,R^2介于0~1之间,越接近1,回归拟合效果越好,一般认为超过0.8的模型拟合优度比较高

这里 P 值较小,相关性模型比较显著,模型拟合效果也还可以。

所以,一篇文章点赞多,评论也可能越多。

4.3 同轴显示柱形图和折线图

该图表一般用柱形图展示某变量数量上的变化,用折线图展示数量增长或降低的幅度,即变化趋势。

这张图,我们需要用到的数据是「发文日期」和「记录数」,也就是文章数。

由于我们数据采集周期是从2017年3月27日到2019年4月23日,为了数据的完整与客观性,我们选择2017年4月初到2019年3月底完整两年时间。

我们先筛选时间,将日期拖拽到2区的筛选器中,选择「日期范围」,并选择我们想要的区间:

然后将1区维度中的「日期」拖拽到列,并且点击列上的日期,让它按月显示数据:

我们将记录数拖拽到3区的行中,柱形图就出来了:

然后我们制作折线图。

将记录数拖拽到2区的标记中,选择「快速表计算」中的「百分比差异」,来计算各个月份之间的相对百分比差异:

然后将其拖拽到3区行上,并将其对应标记选择为线:

之后,我们需要合并两个坐标轴,选择行上最右边的总和(记录数)(三角),右键下拉菜单选择双轴:

图下方显示 null 值,我们点击它,选择从「默认位置显示数据」即可。

颜色也需要再处理下。

我们可以在图中所示柱状图中改变柱状条颜色:

4.4 堆叠图

在 Matrix 发表的文章,都有多少上过首页?

理论上来说,网页并没直接提供这样的数据,这里我根据点赞量做一个简单猜测:点赞量50以上的文章,就认为它上过首页,但这样有些武断,因为确实存在上首页后不超过50赞的文章,这样的结果是,图上显示的上过首页文章可能会比实际值低

时间上,我们选择2018年全年,数据最为完整。

筛选器选择年份为2018,然后分别将「发文时间」和记录数拖拽到列和行,发文时间选择按「月」展示,标记处改为条形图显示:

这时我们需要解决一个问题:将所有的记录数(文章)根据点赞数0-50和50以上进行分组,才能得到堆叠图:

  • 0-50点赞文章
  • 50点赞以上文章

我们需要用到 Tableau 中的分组功能,选择度量中「点赞」右键创建「组」

多选(0-50)和(51到最后)并进行分组:

分好两组之后,维度出现了新的like(组)1:

我们将like(组)1直接拖拽到2区标记中的「颜色」中,堆叠图就做好了。

4.5 词云图

最后说下词云图的制作方法:

词云图中各个词一般会对应某数值,数值越大,词字体越大

我们想制作一个根据点赞量显示作者名字的词云图,我们分别将「点赞」度量和「作者」维度拖拽到行列。

然后在智能提示中选择填充气泡图。

最后在2区中将标记改为文本即可:

五、可视化教程总结

1. 低门槛 Workflow

本文的初衷,是希望通过实践建立起一个简单的数据可视化 Workflow。因为在我看来,每个人都应该具有选择工具的权利与能力,来突破隔行如隔山的专业性「代沟」,增强自己的竞争力。

就算在少数派这样重实操,较极客的平台,对大部分人来说,编程还是有门槛,

任何一件事都有门槛,但我们能做的,就是不断把这个门槛降低,让更多的人感受「data is beautiful」。

2. 工具潜力未被完全挖掘

篇幅有限,本文对工具的介绍并不全面,也就是说它们还可以达到更高的水平。

比如我们想要对 Matrix 文章的调性做一个数据分析,其实 Web Scraper 还可以自动抓取跳转链接后的数据,也就可以通过 Web Scraper 跳转文章标题链接,拿到文章页面中「标签」这一维度的数据,从而分析出作者都爱写哪些类型文章,读者又都更偏爱哪些类型文章等。

再比如我们可以让 Web Scraper 跳转作者页面,拿到作者的总写作字数,这个时候就可以配合 Tableau 的参数化计算字段,找到一些新角度,比如计算点赞数/写作字数,就可以看出作者驾驭文字的能力。

这样的角度还有很多,等着你去挖掘。

3. 工具的局限性

再好用的工具也有自己的局限。

相比于 Python、D3、R、Echart 这些「正统」数据处理语言来说,Web Scraper 首先缺少实时性,也就是说它不能每时每刻监控网页上的数据变动,每次爬取数据都要手动开始,也不能提前定时,自动化水平不高,而且数据采集要在 Chrome 中模拟翻页,点击,耗时较长。而且 Web Scraper 和 Tableau 都有一定的性能瓶颈,当需要处理的是百万,千万级别的数据时,软件的响应速度远远不如编程语言。

所以说,工具的出现并不意味编程过时了,只是这些工具也能让普通人上手一些轻场景的数据分析,比如做新媒体,需要分析竞品网站,这个时候工具的优势就体现出来了,从数据采集到分析,都不太需要过多的编程知识。

而对于那些数据量级巨大,网页爬取不便,且对可视化出图样式要求较高的重场景数据分析来说,编程工具会更合适。

最后,简单谈下我对数据可视化的理解。

六、微谈数据可视化

1. 数据可视化的本质

数据可视化有着统计学渊源,但并不是只有严格意义上的传统图表才称得上可视化。不管是我们演示用的图例,还是基于气象模型的 R 语言的专业数据分析,或是好奇心日报的「好奇心小数据」这样的数据新闻,其实都算是数据可视化。

那可视化的本质是什么?

在知名可视化作者 Nathan Yau 看来:

我们手头的大堆数据反映了真实的世界,然后我们对它们进行分析,得到的不只是视数据的关联性,我们还能了解到身边正在发生什么。这些故事反过来可以帮助我们解决真实世界中存在的问题,例如降低犯罪率、提高卫生意识、改善高速上的交通状况,或者只是增长我们的见识。

数据可视化的本质是寻求真相,透过数据——世界的真实反应,来找寻各种事件间的相关性与事情发展的趋势,从而找到一些问题,然后我们才会想方设法解决这些问题,让这个世界变得更好。

寻找问题,解决问题,把你的想法通过图表顺畅的传达给读者,我认为这就是数据可视化的第一要义。

从本文前几章的工具教程可以看出,工具的上手难度并不高,但是如何着手做好数据可视化却很难,换句话说,可视化的「术」很简单,「道」却很难。

2. 「道」即是问题

图片最伟大的价值在于它迫使我们注意到从未预见到的事物。——约翰·图基

当我着手对 Matrix 的文章可视化时,我需要通过不断设问来推进可视化:

  1. 我可以拿到什么数据?
  2. 我想了解数据的哪些点?
  3. 数据背后的问题是什么?我对哪些问题有疑问?
  4. 选择哪些合适的图表?
来源:《数据之美》

我的回答

  1. 文章标题、作者、点赞、评论、发布日期
  2. 最好的是谁?勤勉(发文数)、受欢迎(点赞)等各种排名,时间的变化呢?
  3. 先从整体看数据,然后放大到具体的分类和独立的数据点,哪里增加、减少、离群值,数据中的差异与随机性相比是怎样的?
  4. 柱形图(排名)、折线图(增长率)、堆叠图/饼图(首页比例)等

当然,在可视化的过程中,你最好围绕一个核心问题出发,有时核心问题来源于你的核心需求,比如对于 Matrix,我的核心问题是:如何写一篇受大家欢迎的文章?

这个问题带到数据解读中,又可以转换成:什么样的文章最受大家欢迎?

我们再回顾下单篇最受欢迎文章:

指南、教程类文章榜上有名

我们可以看到,最受大家欢迎的文章高度集中在「指南」、「教程」中,一方面这说明少数派的读者都有很强的学习欲望,从而对教程类文章更感兴趣,另一方面,大家送出的「赞」在这些文章中更像是「收藏」,即某种标记,从而可以在需要的时候找出来再看一遍。

这里说句题外话,很多互联网产品,都会将「喜欢」、「赞」与「收藏」联系在一起,会更符合一些用户的使用习惯。(我个人就是把赞当收藏用)

比如第三方微博客户端,墨客:

现在说回来,如果你想开始可视化之旅,最好对已经采集到的数据抱有一个核心需求(你到底想获得什么),这个核心需求会激发你在阅读数据时找到核心问题,从而又能找出更多小问题,这样, 你的可视化之旅就会自驱动向前。

3. 你不一定需要炫酷图表

有时我们会见到一些炫酷的图表,比如桑葚图:

还有这样的:(我不知道名字)

它们的共同之处在于生活中都比较少见,人们看完觉得耳目一新,感觉很炫酷。但我推荐大家谨慎使用这样的图表,因为它们过于复杂了,可读性大打折扣,图上的视觉因素盖过了你本想要传达的信息。

文章开头很多图都是比较常见的图表,比如柱状图,折线图,饼图等等,之所以选择它们,并不是因为制图简单,而是它们对读者更友好。

世界上最早的柱状图出现于威廉·普萊菲1787年出版的《商业和政治图集(第二版)》。

描述了1780年圣诞节到1781年圣诞节这一整年的时间里,苏格兰对不同国家和地区的进出口情况。

柱状图沿用至今已经有200多年历史,这意味着它经受住了时间的考验,人们认可它简洁的可读性。

无论是新兴图表还是传统图表,让人们更好理解,更符合阅读习惯的图表就是好图表。

有时图表需要顾及传播性,我们当然可以选择一些新颖的设计,不过最基础的一条要求还是要考虑可读性,你必须简单直接地向读者传达出你想表达的意思。

七、附录

标题是踹门教程,一方面要求上手速度要快,另一方面,就是要有力量,也就是执行性要强,可以通过阅读文章制作大部分图表。

Web Scraper 和 Tableau 都可以导入「配置文件」,比如 Tableau 的配置文件类似于「源码」,你可以看到我在出图过程中所有操作。如果学习过程有不会的地方,可以做个参考,我把它们都打包到了百度云上(见后文)。

Web Scraper 的「配置文件」是一段 json,你可以在这里复制进去,然后可以看到所有的选择器结构与配置,并且可以直接跑数据:

Tableau 「配置文件」为 Matrix.twbx,下载后点击 Tab 栏「文件」「导入工作簿」即可。

这里再推荐一些可视化书籍与工具教程链接,书中的知识是更高级的方法论,从「道」上帮你理解可视化;教程你可以当成查询手册来用,在阅读本文时可以翻阅一些知识点,查漏补缺,

1. 书:

2. 教程:

3. 文章中用到的数据集与工具配置文件:

4. 可以用来练习的数据集(Excel):

这里再提供一些数据集网站,你可以在上面下载一些 Excel 文件,然后发动你的好奇心,大胆的可视化。几个例子下来,我相信你一定可以掌握这套低门槛的可视化 Workflow。

  • 世界银行
  • IMF(国际货币基金组织)
  • kaggle(推荐)
  • data is beautiful(Reddit 知名数据分析频道,时常会放出一些数据集,组织可视化比赛,而且还可以观摩很多优秀案例,推荐)

5. 题图:放松一下

最后欣赏一下来自 CLEVER°FRANKE 团队为红牛做的派对数据可视化,它也是本篇文章的题图。

CLEVER°FRANKE 为 redbull 做的派对数据可视化

完整图:

这个项目是 CLEVER°FRANKE 受邀与时尚品牌 BYBORRE 合作,在阿姆斯特丹舞会活动(ADE,电子乐派对)上,为派对客人定制的数据可视化。

数据来自于客人戴的手环。

手环上有检测器,可以检测动作、定位、温度、ID、分贝(声音)数据,然后通过联网实时将这些数据传到可视化团队,他们也配备了一套相当完善的可视化 Workflow:

他们用 java 分析数据。Processing creatice 出图。

最后派对结束,每个客人都会收到为自己定制的可视化纪念品。

再看两个效果:

怎么看这些图呢,简单来说,他们用不同的颜色表示温度、活动、位置(维度),用透明度来表示强度(度量)。

Data is beautiful, right?

希望这篇文章对你有帮助。

本文首发少数派,同步 WEB VIEW ,任何人未经许可不得转载。

谈中英文字间距

对比中西方产品设计就会发现,西方设计会更简约、清爽,留白更多,好像他们并不苛刻于空间的利用效率。

人们试图解释这种差异,譬如归结到环境因素,说亚洲人生活压力比欧洲人大,个人拥有的空间更小,这种空间上的局促也反应到了日常使用的产品、文字上。

也有人谈到基因层次,说亚洲人比欧洲人更能接受复杂的信息。

但这两种说法都很难站住脚,ArvinNing 在中英文排版差异时提到:

生活环境更拥挤,你就更喜欢拥挤的界面吗?

很显然是站不住脚的,而关于人种差异的理论也有问题。人类的神经系统是高度可塑性的,有可能并不是神经系统的差异导致人们喜欢不同的产品,而是不同的习惯导致了不同的神经系统结构。

ArvinNing 认为差异的真正源头在于文字的展示效率,由于英文的展示效率不如中文高,所以英文的简洁只是一种「妥协」,不能在移动端产品上利用有限的空间展示等量的中文信息。

而我在这里,想对 ArvinNing 从中英文组成结构及间距空间方面做个补充,微谈一下两种语言产生这种差异的更深层原因。

在此之前,需要先对中英文组成结构做个剖析及对比。

一、中英文组成对比

文字就像一串可以承载信息的编码,我们对文字解码(阅读)之前,需要先编码(书写),编码之前我们要先知道,都有哪些原材料(最小单位)可以让我们编码,他们之间的层级又是怎样构成的。

1. 字母 VS 笔画

英文中,26个字母为最小组成单位,理论上这些字母可以自由组合。

而在中文中,笔画是最小组成单位,从落笔到提笔,笔尖运动所留下的痕迹就是笔画。

简单来说,笔画由不间断的点和线组成,如横(一)、竖(丨)、撇(丿)、点(丶)、折(乛)等。

2. 词根 VS 独体字

有了字母之后,组成单词还需要遵循一定的规律,这种规律就是以大量拉丁词源为代表的英文词根。

古希腊、罗马作为西方乃至整个人类文明的起源,无论从哲学、文学、数理都对当今产生了巨大影响,而文字作为思想的载体,这种影响更为强烈。

对比英国的英文及罗马的拉丁文可以发现,二者之间存在数量庞大的同源词(词根前身)。

拉丁词源

这些同源词(词根)作为英文的基础词,提纲挈领地指挥着字母间的排列组合。

中文的词根则是独体字:

独体字指汉字的一个字只有一个单个的形体,不是由两个或两个以上的形体组成的。这种字大都是一些简单的象形字和指事字。因为这类字是从图画演变而成的,所以每一个字都是一个整体。

譬如日、月、 山、水是象形独体字,天,立,上、下是指事独体字。

这些独体字占汉字总体比例很小,当代《汉语大字典》(2010年版)收字60370个,独体字不超过5%。除了作为单字出现,独体字大多时作为合体字的组成部件——偏旁出现。

比如:私——禾、厶 兵——丘、八

独体字占比不高,但作为整字的「可复用组件」,重要意义不言而喻。

值得一提的是,在这一阶段,英文词根虽然已经有了基础含义,但未完全成为书写的正式单词,而独体字则已进入日常写作范畴。

3. 整字/ VS 单词

大部分词根需演变成单词才能正式使用,而中文此时已经从独体字演变成更复杂的整字,即我们最常使用的方块字。

整字多由二到三个「部件」组成,这些部件就是上一步提到过的独体字。

独体字:一、人、及、册、事

整字(合体字):倍、街、衷、国、麟

最后,中英文组成结构如下:

英文:字母(均不具语义,使用性)=>词根(具有语义,低使用性)=>单词(具有语义,具有使用性)

中文:笔画(均不具语义,使用性)=>独体字(具有语义,完整使用性)=>整字(具有语义,具有使用性)

至此,中西文组成对比告一段落。

有了这些书写工具之后,下一步需要考虑如何更好地阅读这些字。

二、文字之间的间隔

人很难掌握高复杂度的东西,阅读大段密集文字同样不是一件易事。

1. 标点、段落与空格

软件工程思维中,可以将复杂逻辑进行拆分,稀释成多个可复用组件,逐个击破,阅读文字也是如此。

有了字母之后组成单词还需要遵循一定的规律这种规律就是以大量拉丁词源为代表的英文词根古希腊罗马作为西方乃至整个人类文明的起源无论是从哲学文学数理领域都为当今留下了巨大影响而文字作为思想的载体这种影响更为突出随着英国的古英文以及罗马的拉丁文相互交融英文和拉丁文之间有着数量庞大的同源词

无论何种文字,都大多会引入标点/段落这种可将长文字拆分成小段的「模块化」解决方案。

有了字母之后,组成单词还需要遵循一定的规律,这种规律就是以大量拉丁词源为代表的英文词根。

古希腊、罗马作为西方乃至整个人类文明的起源,无论是从哲学、文学、数理领域都为当今留下了巨大影响,而文字作为思想的载体,这种影响更为突出。

随着英国的古英文以及罗马的拉丁文相互交融,英文和拉丁文之间有着数量庞大的同源词。

对于英文来说,还需引入空格来分割单词。

iwillgohomeandgotobed

而空格是中文所不需要的。

i will go home and go to bed

2. 为什么中文不需要空格

之所以英文需要空格,原因在于英文字母的粘连性非常严重:

iw ill goho me andg otobed

假设上段英文各个间隔单词都有正确含义,很明显这样的排列组合和最初的意思截然不同,字母间的组合顺序很容易改变单词及句子的意思。

为什么中文不需要空格?

有了字母之后组成单词还需要遵循一定的规律这种规律就是以大量拉丁词源为代表的英文词根古希腊罗马作为西方乃至整个人类文明的起源无论是从哲学文学数理领域都为当今留下了巨大影响而文字作为思想的载体这种影响更为突出随着英国的古英文以及罗马的拉丁文相互交融英文和拉丁文之间有着数量庞大的同源词

上面这段中文,人们从左向右阅读,其实可以借助字的语义切分长文字

中文根据语义切分长文字

这里的关键点在于中文在组成句子的过程中,人阅读时识别的最小单位已不是笔画而是独体字,这些独体字或整字在句子中出现时,人们会自动向左/右找寻有语义的词组,自动组合,从而解析出整个句子的含义。

而英文组成句子的过程中,人能识别的最小单位仍是字母:

iwillgohomeandgotobed

字母本身不具备语义,人们无法为其做语义化分割,也就无法推断句子的意思。

三、为什么字母不具有语义

现在我们再进一步,问个问题,作为有着类似字组成结构的中英文,为何空格的作用对英文如此大?

1. 李约瑟难题

这个问题类似于李约瑟之问:为什么近代科学在欧洲出现,而不是历史悠久的中国?

对于李约瑟之问,正确的回答从来不是某些看似合理的分析,从而落入以西方为叙述中心的陷阱。

正确的回答应该是作出反问,为什么近代科学出现在西方?

别人都行,你为什么不行?别人都不行,就你行?

上面两个问题,后者更容易得出「行」的背景与原因,而不是分析不行的原因,因为正如托尔斯泰所说,行的人大同小异,不行的人各有各的不行:)

所以,我们现在换个问题,为什么中文不需要空格?

我们仔细观察后可以发现,英语是一维的文字,无论是书写(构造)还是解读上都是按照从左到右的顺序。

英文四线格

英文四线格和中文田字格最大的不同在于中文多了垂直维度的约束条件。

中文田字格

多一个维度的约束条件也很容易理解,毕竟中文整字的组成结构要比英文复杂多了。

中文整字结构:

  • 左右结构:挣、伟、休
  • 上下结构:志、苗、字
  • 左中右结构:湖、脚、溅
  • 上中下结构:奚、髻、禀
  • 半包围结构:
    • 右上包围:句、可、司
    • 左上包围:庙、病、房
    • 上三包围:同、问、闹
    • 下三包围:击、凶、函
    • 左三包围:区、巨、匝
  • 全包围结构:囚、团、因
  • 镶嵌结构:坐、爽、夹

整字的组成涉及上、中、下、左、右方位,自然需要从「口」字格再分四份,分成「田」字格才够用。

由此可以看出,中文之所以不需要空格和标点,也能勉强识义,是因为独体字/整字比字母多了垂直和水平两到三个维度。

比如,「挣」虽是一个字,但其左右结构,真正对应英文的应该是「to」。

上下结构的「志」,可以对应成翻转90度的「to」。

左中右结构的「湖」,可以对应「and」。

无论是「to」还是「and」,他们在英文中都已具有语义和使用性。

2. 中英文在计算机中的存储方式

有意思的是,这种组合方式还体现在计算机对中英文的存储方式上。

ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。

即:

英文:to=2字节

英文用的半角标点(空格、逗号、句号)=1字节

中文:「到」=2字节

中文用的全角空格(空格、逗号、句号)=2字节

英文:I am going to be home soon, please don’t worry.=35+12=47字节

中文:我马上就要到家了,请你不要担心。=16*2=32字节

无论在书写还是存储上,中文确实要比英文效率高。

四、高效率的背后

中文的高效率,不如说是压缩更多信息量,对相对空间的绝对压榨

1. 成功的人一定付出很多

假设我们定义1个笔画可以存储1字节信息量。

「懂」有19笔画,也就是有19字节的信息量;

「understand」有18笔画18字节的信息量。

我们再定义字节效率比=总信息量/所占字节数。

「懂」占2字节,效率比=19/2=9.5

「understand」占10字节,效率比=18/10=1.8

二者效率比相差5倍左右。

我们现在可以得出结论:

中文在书写和存储上的高效率更多是由于中文笔画有很强的压缩性。

这种强压缩性的笔画,由于汉字间架结构的高复杂度,可以在单位空间内尽可能地二次压缩信息量。

中文复杂的间架结构

2. 高效率的担忧

尽管中文在展示上有很高的效率,但却远远没有英文易传播。

原因除了英国当时的殖民扩张之外,还有中文相比英文较高的学习成本。

对于一个非英语,非中文语系的人来说,看懂中文要比英文难的多。

中文太紧凑了,各种间架结构十分复杂,书写也更加多维,对新人来说,读和学都要比英文困难。

中文紧凑排版

五、利用字间距稀释文字

探讨完中英文的组成结构,我们或许可以试着从字间距这一角度去理解中文互联网排版上的诸多流行实践。

排版作为「形式」而言,第一要义是服务于功能,即如何让读者更容易接受作者的观点。除去内容质量以及文笔这些内在要素之外,排版能起到的作用在于对中文的高信息密度进行「稀释」,降低人们的阅读压力。

1. 垂直方向的稀释

分段

最简单直接的稀释方式莫过于分段,长文字按照语义逻辑进行分块,每一块就是一段。

自媒体常用的一句一段稀释的太重了,在移动页面,比较让人容易接受的一个段落最好不要超过屏幕的三分之二。

还有一种段之间比较常用的方式是插图,图片作为与文字截然不同的信息展示载体,自然可以充当人们的阅读「缓冲带」。

但很多情况下,图作为更高信息密度载体的身份总是被弱化,「一图胜千言」的效果被弱化,很对文章配图配不上它的高信息密度,止步于「缓冲带」。

标题上下间距

人们喜欢看提纲挈领的东西,原因在于这些承上启下的语句充当了人们的「路牌」。

譬如常用的小标题(H2、H3),它们作为段落的综述,是对下文的高度提炼,人们可以通过这些「路牌」快速领会下文大义,它们很友好。如果将阅读一篇文章比作在高速上开车,那路上的「路牌」就是我们必须高亮注意的信息点。

所以,「路牌」和下文之间的间距关系也同样不可忽略。

简单来说,「路牌」的启下性决定了其与后文的联系要更紧密一些,所以比较流行的实践是将小标题的上间距(margin-top)设置成下间距(margin-bottom)的二到三倍。

同时,小标题下间距最好和段落间距保持一致,这样给人感觉小标题和下文更有整体性。

2. 水平方向的稀释

两端缩进

没有人喜欢杂乱,而在排版中,由于人们的阅读顺序是从上到下,左右方向如果留出空白,可以减轻人们的阅读紧迫感。

比如可以利用两端缩进将正文向中间挤压,呈现文字居中感。

六、字间距只是 Typography 的冰山一角

字体排版能聊的还有很多,合理地控制字间距(广义)只是冰山一角,其思路还是从源头上将中文天生的高信息密度结构进行合理稀释,降低人的阅读压力,而之所以中文不像英文需要词间空格,也是因为高密度结构所带来的高信息量而让独体字/整字在句子中具有可识别性。

Typography(字体排印学)被誉为 Two-dimensional building (二维的建筑),说明其不仅仅止步于对字号、字体、栏宽、行高的调整,而更着力于通过排版让文字更容易辨认,增强可读性,它是技术与美学构成的二维建筑学。

英文的字体排印,比较领先,值得推荐的例子是 The OutlineThe Padding,前者牺牲了一定的阅读体验来追求极致的网页端排版设计,后者则是交互性上给人留下深刻印象,都值得国内排版爱好者关注。

中文环境下的优秀案例较少, Type Is Beautiful作为其中的活跃分子,也经常通过文章与播客的形式分享中文排版的经验心得。

中文互联网字体排印还处在初级发展阶段,但也因如此,很有可能会出现一些打破常规的亮眼设计,带给我们惊喜。

本文首发WEB VIEW ,同步少数派,任何人未经许可不得转载。

谈后摇

三月的南方,总是湿润,这样的季节适合听后摇。

我曾在一个网站的自我介绍上打过 POST ROCK 的标签,后来和朋友聊到这个,他说「没看出来你还喜欢摇滚啊」。

他说的对,但理解错了。

我确实喜欢摇滚,但后摇并不是简单的摇滚「分支」,当然也不是什么「后现代主义摇滚」。

如果从时间维度上来看,后摇兴起于上世纪90年代,比摇滚乐的出现要晚上40多年。

1995年,英国乐评家 Simon Reynolds 首次使用「POST ROCK」一词,描述那些用典型摇滚乐器演奏非摇滚乐的音乐风格,用吉他做主要音色和组织乐章,而不是即兴重复段和强力和弦。

解释概念总是徒劳而无必要的。

回到大众的理解范畴来看,国内更爱强调后摇「非人声」的一面,刻意将其与「人声」对立起来。

比如最近育音堂在演的LPA,就是这么介绍惘闻的。

惘闻

后摇很少使用「人声」乐器。所以国内如果使用这样的词来介绍后摇,对新人是友好的。但这样的描述却肤浅又不准确。

摇滚乐中使用吉他贝斯鼓,更多是因为这样很好配合,吉他负责主音,鼓负责节奏,贝斯负责低音。分工明确,旋律简单,歌词上口,出歌也快。

同时,这也容易出陈词滥调,所以你可以看到网上经常有人只用一套和弦走向,就能弹下来绝大数的流行歌曲,而且还都是C调的。

并不是在鄙视 POP,摇滚发展了几十年,二者早就融合成 ROCK/POP 的类别,你中有我,我中有你。

耐心

说回后摇,后摇使用吉他贝斯鼓与摇滚乐最大的不同在于:后摇更有耐心。

人们更喜欢什么歌曲?或者说音乐的本质是什么:有预期的重复

很多歌曲现在都会更开门见山,上来直接将副歌前置,把旋律的预期先给你,然后慢慢给你重复感。

后摇就显得有耐心多了,平均时长就要快七八分钟,而且也不会上来满足听众对重复性的渴望,它会徘徊,积聚一段时间后,才会用音墙把最后的高潮引出来。

人声在后摇中就成了陪衬与补充,更多回归到吟/咏唱的形式,而不是传统乐队「主唱」的角色。

当然,这也给后摇带来了一些问题,比如听众如何听后摇现场的问题。

三月,正好看了三场后摇现场,或许可以回答这一问题。

MONO

听后摇很难避开 MONO,正如听摇滚很难避开 Beatles。

如果第一次后摇浪潮以 Mogwai 为代表,那第二次浪潮则必须要谈到 MONO。

MONO

后摇发展过程中,也遇到了和摇滚的类似问题:趋同、乏味。

对音墙的滥用,不重视编曲,人们开始厌倦并怀疑这种新兴音乐形式的发展潜力。

MONO 的出现给了后摇很多新鲜血液。

包括国内的惘闻,文雀都有很多 MONO 的影子。

MONO 一定程度上定义了一支后摇乐队的优秀标准到底是什么:随着旋律线的推进,音墙进来之后,音乐的层次不能坍塌。

这需要考验乐者的编曲能力,既要立住音墙,又要保证各种乐器的层次感。

而在现场,也要考验场地的音响效果。

MONO 这次在 MAO 演出,有点遗憾的是,很多歌曲的高潮部分,基本上听不到录音室版本的层次感,大多都堆在一起,被音墙盖过去了。嘈杂、吵闹,甚至都无法分辨各个乐器之间的强弱与分工,就更别谈层次感了。

除此之外,还要回到听众「如何听后摇现场」的问题上。

后摇舍弃了人声,加上国外乐队不熟悉中文,在 LIVE HOUSE 层面,后摇的「互动」环节着实无力。

既不能像电音那样猛甩头,也不能向人声演出那样跟着唱,所以很考验听众对曲目的熟悉度,用先前听过的期望度来弥补这种弱互动性。

MONO 这次是新专辑巡演,大多是新曲目,只有最后一首演奏了招牌曲目《Ashes In The Snow》。

Whale Fall、Chinese Football

育音堂这几年发展迅速,又开了「分店」育音堂公园,国足的演出就在育音堂公园。

国足也是唯一的本土乐队,和观众的互动明显多了起来,但大多我认为没必要尬聊。

Chinese Football

MONO 和 Whale Fall 就好很多,很少有停顿和休息,基本没有废话,一口气演奏到结束。

Whale Fall 很出乎我意料,观察乐队的平均年龄怎么也要40岁以上。

Whale Fall

不知道是育音堂的音响比 MAO 好,还是国足和 Whale Fall 的编曲没有达到 MONO 那样的层次感高度,育音堂的现场感要比 MAO 稍好一些。

「明亮」与「养分」

欣赏后摇需要听众有足够的耐心,听完乐者的前置编曲,然后再进入音墙,有这样的渐进过程才会凸显高潮的强劲有力。

后摇本身的弱互动性也注定这种音乐形式推广不到大众,但三场看下来,也几乎场场售罄。

后摇曲目大多并不「明亮」,给人感觉并不是一种「积极」的音乐形式,但这大多是对后摇的误解。正如你中意某首歌在于你与乐者的共情,悲伤的你自然会被悲伤吸引,难过的你也自然会被难过拉扯。这取决于听歌的人,而不是音乐类型。

恰恰相反,后摇有自己专属的强大能量,正如碇真嗣第一次进入 EVA 初号机,需要在特殊的水中呼吸氧气,这需要他将恐惧在侵入水中的一瞬间全部克服,后摇也可以将人一瞬间拉扯到某种空间中,在那里,你可以落寞,但随着音墙的递进,你就又被拉出来了,后摇是孤独与低落的线粒体,后摇消化并转化它们,为你滋发出新的养料。

但人们是喜欢后摇最后转化出来的积极情感,还是后摇给了人们一个可以正当享受孤独与冷寂的机会呢?

最后,这虽然不是一个崇尚冒险感的时代,但庆幸的是,也永远不会出现《中国有后摇》这种畸形节目。


谈IOS 12细节

本文不涉及 iOS 12 更新的明眼可见之处,以及像「屏幕使用时长」这样为主打卖点的新特性。而更侧重于交互体验,UI 设计上的些许提升,或你不认可的那些改变。

通知信息的消除按钮

如无必要勿增实体,主动推送从来不是什么好事。除了添加相同 APP 合并推送外,在消除信息按钮上,苹果进一步提升了交互性,删除的按钮做的更大,点按的难度也小了很多,再也不像以前按半天也按不到那个「X」。

这是进步的设计。

语音备忘录

语音备忘录是少有的也有可能是唯一的在 icon 上做了改动的原生 APP。

两点改变:

  • icon 上的音轨图从原来的黑白改为现在的红白拼接
  • 红白交接处添加或许为时间「进度条」的指针。指针或为音频剪辑中的时间剪辑点,就像时间的指针,随着它的移动,音频不断推进,你可以在指针停留的地方进行段落的删除,切割,复制等剪辑操作。

进入语音备忘录主屏

或许 APP icon 的指针就是在强调移动设备上的编辑功能。

苹果的很多原生 APP 都处于一种「不受重视」的状态中:日历,短信,邮箱,提醒事项,文件。

原生 APP 在使用体验上有着第三方 APP 不能比拟的优势,简洁的交互,没有乱七八糟的UI,以及强大的系统级支持。

但是人们好像并不重视,或者说发现不到它们的美。

iphone 作为一种录音设备,在音质方面也算是可靠。基本可以满足日常的录音要求。

在移动设备上进行简单的剪辑,苹果或许在鼓励你这样做:别用第三方和 pc,你并不需要。

这是进步的设计。

Apple Music 歌曲内边距

Apple Music 中显示所有歌曲时,每首歌所占的视觉面积都要比以前要大,具体体现在每首歌都比以前加了padding,也就是内边距,把一首歌所占的视觉面积撑起来了。

这个不像前边两个改变就直接定义成「进步」,但在设计领域上下留边界确实是常见的做法。

Apple Music 在用户体验上并不完美,它还有很多可以完善的地方。

这是进步的设计。

后台播放中的锁屏界面

在最新的 iOS 12,后台播放界面从原来的毛玻璃(图二)改为了深色界面(图一)。

如果只是改个颜色,实在很难判定是否是好的设计,但如果对比 iOS 10(图三) 的「大专辑封面」显示效果,很明显,iOS 11 和 iOS 12 都是退步的设计。

当然了,你认为「弱化专辑视觉化」是一种退步的前提是:认为图像也是音乐创作不可或缺的一部分。

这是退步的设计。

补充一位读者@34C的观点:

不同意 “弱化专辑视觉化” 就是不认同 “认为图像也是音乐创作不可或缺的一部分” 这个观点。专辑封面确实是创作的一部分,但并不是在每一个界面都要去强调它。在 iOS 10 的时候很多次按了 power 键要看时间,都不能马上看到。还有就是 iOS 11 之后,音量控制条 更靠下了,符合单手握机时快速调节音量、包括切换曲目。这些细节都是因为没有大封面图阻挡带来的改进。尊重创作固然重要,但在不同的 UI 中,分清要表现的主次,更符合用户操作体验,我觉得是一种进步。至于 iOS 12 相比 11 改了改色,哪个好看,这个因人而异吧。

其实这个改进于我而言觉得是退步了,但于大部分用户来说确实是进步了。

比如我喜欢以前的大专辑封面,但是大专辑图在用户体验上也有严重的问题。

大专辑图强化了音乐的视觉效果的同时,同时也弱化了时间显示以及下面的通知中心。

大部分用户真的有非要看大专辑图的需求吗?或许只有像我这样的原教旨音乐爱好者才会不分场景的,以牺牲用户体验的方式强行崇尚大专辑锁屏图。

workflow/捷径

workflow 本身作为第三方 APP,它涉及了太多系统级别的操作(打通APP通路),得到了苹果的青睐,被苹果收购,变成了系统级的 APP。

这次的改版:

  • APP 名字:workflow——捷径
  • 界面

这次 workflow 汉化为「捷径」,或许不是好的设计,因为它会让人感到困惑,尤其是苹果的非折腾用户,中文语境下,你很难将它和「APP通路」联系起来。

workflow改版,界面是好的设计,汉化或许不是

信息

进入信息聊天界面后,iOS 12 在顶端的联系人位置新增了「通话」「FaceTime」「短信」新入口。

将原先界面右上方的「叹号」取消。

这一改动也减少了在短信中进行更多交流的操作步骤。

iBook

iOS 12中, iBooks 更加拟物化,比如在你的书架中,书封面添加了阴影,模仿实体书的观感。

勿扰模式

iOS 12 中通过上划呼出控制中心后,长按勿扰模式会出现更加精细的控制选项。除了加入规定时间内勿扰之外,同时也加入了「直至我离开此位置」判定是否勿扰。

苹果不只是科技公司

苹果已经是这个星球上市值最高的的科技公司了。

苹果同时也是家设计公司。从最一开始的字体排版,拟物,扁平化,到最新 iphone 官网上对渐变色的大胆尝试,对大写字母小写化的尝试。

每一次,苹果都没有迎合过潮流,刘海屏从一开始的被骂到后来几乎所有安卓厂商的跟进,最新 xs 的官网显示图使用了渐变色的设计,这是以前在国内代表着廉价低劣的  PPT 时代的技巧,苹果的这次尝试好像也效果不错。

设计的本质是创新,所以你才会觉得苹果总是有哪些地方和别的厂商不一样。

再值得一提的是,苹果的这次更新只有1.3G。

补充:关于更新包大小,不同机型下载的更新包大小也不同,网上1.3G,1.5G,2G的都有。

❌