level 13
很多人猜测是对API进行了修改,是有可能的,但不是对图形API,而是窗口系统API,也就是EGL这个接口。
GT能改变画面风格,正好也是egl能实现的,另外魔改egl也能实现多线程,以前苹果还没metal的时候,他家的opengl es就能支持多线程了,就是因为他用的自家魔改的eagl,可以实现多线程context
然后再看华为具体怎么形容的(截取媒体的报导):
对于游戏而言,相邻的两帧画面往往是有很多地方是相同的,手游玩家应该对这一点很有体会,你这一帧在G港集装箱里,下一帧有很大的概率依然在集装箱内。特别对于一些LYB而言,很有可能一整场都趴在草丛里,游戏30分钟稳定保持在同一个画面。
所以GPU Turbo技术在预判到游戏画面下一帧没差别的情况下,就会只渲染画面出现变化的地方。举个例子,2帧之间可能有80%的画面是一致的,GPU Turbo就会让芯片只渲染变化的20%,从而减少GPU 80%工作量。
渲染工作量的减少大幅提升了下一帧的帧数延迟,用户眼球感受到画面掉帧需要16.7毫秒的时间,华为GPU Turbo可以把下一帧的渲染时间控制在7毫秒以内,最快可以在短短3毫秒以内就完成下一帧的渲染工作。
合理调度GPU资源,节省GPU性能到游戏最需要的地方,这才是GPU Turbo让游戏满帧运行的秘密所在。
看到这些,我首先就想到了mali自带的TE技术,我摘选一下我以前就发过的:
Transaction Elimination智能消除– 节省外部带宽
Transaction Elimination智能消除 (TE) 是 ARM Mali Midgard GPU 架构的一项关键带宽节约功能,可以在写出帧缓冲时大幅节省能耗。简而言之,在启用 TE 时,GPU 将对比当前帧缓冲与之前渲染的一帧,仅对改动过的特定部分进行局部更新。

这样,每帧需要传输到外部内存的的数据量就会大大减少。TE 可以供各应用程序用于 GPU 支持的所有帧缓冲格式,无论帧缓冲的精度要求为何。即便是第一人称射击类游戏和视频流效率也很高。由于在用户界面和休闲游戏等许多其他常用图形应用程序中,两个连续帧之间的帧缓冲大部分保持不变,因此 TE 带来的帧缓冲带宽节约最高可达 99%。
智能合成 - 减少带宽和工作负载这不就和华为描述的基本一致吗,由此猜想,以前的游戏应用对这个技术支持不理想,华为通过驱动改善了这个技术的支持。另外检验帧是基于CRC技术的,这个算法或许华为也进行了优化加强,使得TE效率更高。
TE技术可以实现soc级的节功耗,其实也不难理解,这个技术减少了渲染量,那GPU自然也降压了,同时带宽也得到了节省,然后渲染减少了,那自然CPU的压力也降低了,最后整个系统的功耗都得到了节省,同时效率却提高了,符合华为的描述。
总而言之就是,没大家想的那么玄学,一切都在可以理解的范围内。那么看来mali本身实际上并不差,只是没有得到广大厂商的优化支持,那么华为自己来也是值得肯定的。
目前想到这么多,以上仅为个人见解。
