终于倒开空写写m1芯片的事情了,m1一出直接性能大幅度飙升,发热用电都很好,可以说是简单粗暴的性能碾压的典范了;
网上聊m1的技术点比较多,比如:
https://debugger.medium.com/why-is-apples-m1-chip-so-fast-3262b158cba2
https://www.macrumors.com/2020/11/30/m1-chip-speed-explanation-developer/
看了这些点之后,发现和引擎发开是有非常强的共鸣感,这里列下:
m1的优势并不是突破了3nm等这种芯片设计制造的底层限制,而是在芯片设计整合这一层做了一系列的工作,进而带来性能飙升,这里包括如下几点,同时对应一些引擎设计的方向
优化方面 | m1 | Engine |
---|---|---|
指令架构 | 使用risc指令集,大幅度增加指令吞吐能力 | 使用新的api,vulkan,dx12等 |
硬件架构 | unified memory,是的cpu和gpu之间的数据交换非常快 | 底层的多线程架构要做到位,比如充分利用dx12/vulkan的多线程能力 |
专项硬件 | 除了大家熟悉的gpu,其中的大量内置的Image Processing unit, 视频编解码芯片,人工智能芯片(NPU),这里这些工作传统cpu通过软件方式都能做,唯一问题就是要慢的多的多的多 | 关键高频模块要做充分定制化,使之质量和性能达到极限水平 |
单领域专注
这里谈下单领域专注的问题,苹果正是因为对自家的产品线有绝对的控制力,所以在升级risc指令集,unified memory等soc的设计方面都没有太多包袱,直接就可以升级。
而intel,amd都是因为大量的历史包袱,不能简单地直接做升级换代,造成了技术领域中典型的“什么都要兼顾什么都要做,进而不给力”这么个情况(而不是消费者常常以为的,什么都能兼顾,好强大,其实是更不强大)。
所以我们在做引擎方面开发,因为游戏有单品爆发则顶上100款普通产品的情况,所以在单品上专注,做到极致,在引擎技术开发以这样的方式是更给力的。