浅谈硬件焦虑
原帖:
https://twitter.com/ultramarine471/status/1577671232366878721
https://twitter.com/ultramarine471/status/1577708625589477377
决定今后不再给别人,特别是年轻朋友们提供类似于笔记本购置、台式机组装的任何市场信息及个人建议,促使我做出这个决定的原因有很多,但说到底还是因为时代变了。
我知道你们肯定知道我不会推荐你们喜欢的那些cpu、显卡、内存等一系列配件,但是我这里还是想补充一下就是除了很多之前我明面上条列出来的原因以外的其他原因,很可能在当中就复现了彼此之间一部分没说出口并且成为误解的那些问题。
很早之前我们都是通过一些书籍和报纸来了解计算机的各种资料的,当时信息还很不发达,我们像老鼠一样有事没事就去电子回收站那边嗅嗅味道,我们家最早的一台电脑是七喜公司的,系统是windows98,能够运行两款游戏,暴力摩托车和帝国时代2。
当时我还并不了解内存也好硬盘也好,只是隐约地意识到这个东西可能潜藏着特别有趣的一些事物的气息,是拥有着像是能够冲破某种难以名状的约束一般的力量秘仪。再然后我就一瞬间长大了,看了很多有的没的关于计算机的书籍,明白了一屁股关于设备的大道理,在各式各样的场合下帮人修各种莫名其妙的问题。
我在这里不是想说当时有多辛苦,恰恰相反,当时的我们真是太轻松了,当时我的小伙伴们只知道拿电脑打cs1.6和星际红警,哪里知道有什么帧数啊分辨率啊这些东西,当时不知道有多少人以为桌面上点两下就进游戏的那个东西就是游戏本体,多少人以为换台显示器就是买了台新电脑的。
当时的我们相较于今天的你们来说,都过于愚蠢,愚蠢到你们根本无法想象,但愚蠢有个好处是什么呢,就是愚蠢的人不会那么容易接受新东西,脑子转得不那么快,就算有很多很多的想法和欲望,都会等到尘埃落定时在做分晓,我们没能力去做很多超前的工作,都只能把余生投注在无尽的等待与观望上。
你们的问题就在于你们的知识掌握的太快了,我不知道你们有没有读过金庸的射雕英雄传,黄药师用碧海潮生曲来试探郭靖就没有效果,因为郭靖太傻了,他根本听不出曲子在弹的什么东西,反而不会被琴音所伤,无知反而成为了他最高明的保护伞。运用到这里也是一样的。
这个世界是很大的,但这么大的世界一样没有逃出资本的手掌心,它的模式还是一样的可悲。厂商为了打开市场提高知名度,完全可以把一部分销售任务下发给各大平台的测评up主及其团队,团队收取一定佣金后帮他们做一些宣传。
那么宣传的重心放在哪里呢,肯定就是游戏再包括一点剪视频、做渲染嘛(团队每天在干的也就是这些事情,所谓生产力说到底也就是宣发营销上的生产力而已),所以你会看到绝大多数up都跟个复读机一样地拿千篇一律cpu烤千篇一律的机测试着大差不差的游戏帧数,他们知道只有这样才能让他们的受众买单。
因为厂商每天都给了一定的销售指标,完成得不够好的话会影响团队的分红,所以很少有up会推荐你去买一些老旧的配件,都是尽可能地新,尤其是cpu,我相信几乎所有的up都会无脑推荐你比较新的cpu,他们也不是坏,只是他们必须至少看起来非常尽职敬业,于是就不约而同地像对好了口径一样地做出相似的推荐。
台式机的话你只需要一颗8代i5就基本上能玩市面上所有游戏了,上到12100这种我觉得已经算是豪华配置了。我不觉得有任何一款游戏不能用8代i5以上的cpu流畅地游玩,无非就是降一点画质或少开点后台软件而已,有人会说一直播游戏就会延迟卡顿,这里建议使用双机推流,考虑预算推流机可以用服务器进行平替。
如果是业务有需求的话最好咨询下业内人士,比如你如果做的有限元分析这种就要考虑内存带宽,并行编程问清楚要用cuda还是opencl也可以,基本上别人什么配置你咔咔一顿抄就可以了,别为了很多所谓的生产力需求去增加预算,你就是偶尔做个ps剪个小视频tm奔腾都能轻松搞定。
生产力用户还有一个很常见的针对cpu的迷思就是纠结核心数量和线程数量,对于这种情况我直接把话撂这儿,一个就是生产力也得先看单核,另一个就是4核以上12核以下人人平等(10线程和20线程没有区别),4核跑得吃力的应用,同一代的8核照样吃力,不要指望多出来的4个核心能带来多大的作为。
真有区别也得是那种工作站级别的才会有区别,之前某人经常用的就是7980xe(16c32t,oc4.8g)性能还可以,据说每台耗费的电量相当于每天多烧6壶开水。 过阵子好像因特尔又要发布新的hedt了,不知道他会不会再次购入,在这方面他一直是很见异思迁的。
很多时候你就是要有很多故事和案例才能对抗林林总总的暗示与谎言的,今天在这个装机圈子里面被弄得五迷三道,过几天要是入坑了品牌鞋圈,是不是又得交上一笔学费,说起鞋子去年暴雷的影响不知道消除了没有,消除的话应该后面还会陆陆续续有人进场,资本总是能让人不由自主地奉上财帛变成伥鬼。
单独拿出来说明一下为什么核心数本质上是一个没那么容易质变的东西,希望能减轻大家的一些核心数焦虑。 大家听说过人月神话吗,举个简单例子比如我们有10个人要工作,为了让我们这三个人能够好好沟通,沟通的渠道就要有 10*9/2=45 条。 https://twitter.com/ultramarine471/status/1577702260556955649
也就是说你新进来项目的这些员工可能还没来得及做出多少贡献一切就都结束了,引入这些新员工只是白白增加了沟通渠道的需求,增大了开销而已。 很多软件多核优化都是由两三个工程师负责的,多半也有其他业务,很多也就是单纯os.fork,并且如果增加线程数,会有更多的bug要去de。
也有些工作是没办法拆成多线程来分配的,比如你在adobe系列里面点击这里那里,这显然只能由单核完成,点的太频繁卡了也肯定是单核的问题。 那么我们说多核的作用体现在哪里呢,一个就是渲染,渲染实时数据量是很大的,你们有没有看过电视里几千万上下的股市操盘手,就那种感觉,这里就可以多核进行。
有人问那我开很多标签页,开很多应用需不需要很多核心呢, 这里反倒更需要内存一些,其实也跟内存的策略有关系,比如你内存不够的时候,系统就会把一些不太常用的数据给放到一个特殊的地方,到后面需要的时候会分别从这个特殊的地方和硬盘里面找一找,具体的我也不多介绍了。