VS2019 16.2: 新版本对游戏性能的优化( 四 )
在AVX架构下优化循环
下面的一个例子 , 展示了一个测试两个vector是否偏离一定程度的函数实现 。
在16.2中 , 开发团队优化了代码生成 , 使之可以借助硬件加速来实现优化 。 我们来看看反汇编代码 , 左边是16.0版本生成的反汇编 , 右边是16.2生成的反汇编:
从上图可以看到 , 在旧版本16.0中 , 编译器识别到了Reduction Loop , 但是却没有进行矢量化操作 , 而是就地全部展开 。 而新版本16.2中 , 编译器识别到了Reduction Loop并对其进行了矢量化 , 而且使用了horizontal add指令进行求和操作 , 从而使生成的代码更加紧凑而且性能更优 。
在单个vector元素上识别intrinsics
新版本编译器可以在单个最底层元素上优化vector intrinsics 。
下面的一个例子 , 是计算平方反比的一个函数实现 。 这个函数来自虚幻引擎的数学计算库 。 它在虚幻引擎中 , 主要用来渲染大部分的游戏对象 。
推荐阅读
- 德鲁伊|《炉石传说》:新版本硬核实力谁最强?德鲁伊才是大BOSS!
- 原神|原神:新版本直播送300原石!新版本卡池公布,阿贝多和优菈复刻
- 永劫无间|《永劫无间》新版本道具太过变态,或将导致游戏凉凉?
- 原神|原神:别再喊长草!新版本到来前,有很多东西要准备
- 中单|双11来袭,《卧龙吟》节日新版本现世 满满的诚意满满的实惠!
- |新版本魅力值拿捏到位,三代雷影很不适应,半蛇兜还能上场!
- 上古卷轴6|元气骑士:新版本爆料,弱势角色技能加强,3大职业强度下调
- |《哈利波特:魔法觉醒》新版本哈利卡组试玩心得
- 阴阳师|除了爱玩游戏的新岛民,《动物森友会》新版本还有一个电竞彩蛋
- |和平精英新版本到来!和平之翼6点需注意,阿神:失重战区可一试