另一方面,GPU负责渲染和GPGPU(通用目的GPU)波前,通常是物体,衣物,和相似的计算。
另一个重要概念就是优化,也是“80/20法则”的一个关键元素。“80/20法则”指的是你的程序20%的代码会花费80%的运行时间,剩下的代码就运行很少了。
所以当你优化你的代码时,你不会想去优化剩下的那80%,因为这是浪费时间。顽皮狗就对这20%非常专注,这也是他们的游戏非常震撼的原因。
了解硬件也是非常重要,尤其是你只为一种硬件进行优化,你需要对其内部工作有深层的了解。
内存缓存是优化的重要部分,现代处理器会从主RAM里经过非常多的循环才能获得数据,这部分很大。之后从较小内存缓存L2获得数据,获取速度也更快。L1缓存就更快了,在之后就是芯片上更小的寄存器,速度几乎是瞬间完成。
小的高性能数据可以放到缓存中,这样就可以快速获取利用,所以让数据保持小且连续可以得到更多的优化。
PS4的CPU8个核心被组织分为两个群集。L2缓存事实上也被一分为二,对应两个群集,每个集群和自己的L2缓存交流需要26个循环。而两个群集之间的交流就更慢,需要190个循环。
除此之外,当你在主RAM里读取一个单byte数据时,这需要把内存中的整个64bytes数据运到缓存中。