光线追踪本质上是一个不太适合(现代GPU的)并行计算模型的操作,因为每条光线的分支和收敛速度是不一样的⋯⋯现代GPU基本是SIMD结构,SIMD结构适合那种所有数据做相同操作的“团体操”模型。
现在基于GPU的光线追踪器比基于CPU的性能要好,很大程度上是占了GPU核多的便宜,如果观察每个核的利用率,GPU版本还是很低的。这好比一个一万人的工厂,每个工人每天只上俩钟头班,还是比一个一千人的工厂满负荷运行产出率高。
as a matter of fact,传统GPU厂商比如N家和A家,在这方面的历史包袱反而比传统的CPU厂商要大,因为GPU有史以来就是SIMD模型机器。而对CPU来说,做多核反而在架构上来得容易些。当然,要实现“实时”的光线追踪,核的数量需要多到一定程度,cache一致性、调度协同等等问题又会冒出来,所以真的是no silver bullet。
所以要实时光线追踪能够进入家用领域,GPU架构需要很(tui)大(dao)改(chong)进(lai),降低线程调度的粒度。但这样一来会增加控制单元,降低运算单元的密度。中间如何取舍,还是要看市场需求和数据支持说话。
— 完 —
本文作者:张岩
【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)
此问题还有 14 个回答,查看全部。
延伸阅读:
任天堂的次世代主机算不算历史的倒退?
让你魂牵梦绕的第一部次世代游戏机是什么,当时为什么爱它?