GF100架构分析:面向图形方面的各种计算
计算机图形是一系列具有无数种途径的多样化问题。光栅化、光线追踪以及Reyes都是为人们所广泛认可的通用渲染算法。在每一种渲染风格中,都存在着针对各种子问题的不同解决方案。迄今为止,GPU已经专为光栅化而进行了设计。随着开发人员不断探索全新的方式来改进其图形引擎,GPU将需要在各种不断发展的图形算法上实现出色的性能。
除了渲染游戏画面,物理、人工智能、光线追踪等众多计算都是GPU计算的范畴
在游戏当中,每一帧都会出现渲染算法切换,这一点使其性能很难达到灵敏帧速率的要求。GF100将渲染算法切换的时间缩短至约20微妙,使其能够在每帧多个内核之间执行精细的上下文切换。例如,一款游戏可以使用DirectX 11来渲染场景、切换至CUDA以实现选择性光线追踪、调用一个DirectCompute内核来执行后期处理以及利用PhysX执行流体模拟。
将来诸多的游戏计算都可以利用GPU进行:
新渲染算法
——可获得精确发射与折射效果的光线追踪
——用于精细贴图置换与高品质抗锯齿的Reyes
——用语立体数据模拟的立体象素渲染
图象处理算法
——具有精确焦外聚光点的顶制景深
——用于高级HDR渲染的直方图
——用于高级模糊及锐化效果的定制过滤器
物理效果模拟
——用于高级流体模拟的平滑粒子流体力学
——用于精细烟雾与流体特效
——物理学物体广泛应用
大量游戏人物的人工智能算法
另外,随着开发人员越来越多地将GPU应用于通用用途,在编程语言以及调试方面提供更好的支持就变得愈加重要。GF100是首款完全支持C++的GPU(图形处理器),C++是游戏开发人员所选用的一种编程语言。为了使向GPU编程的过渡过程变得轻而易举,我们还开发了Nexus,Nexus是一种面向GPU的微软Visual Studio编程环境。加上这些能够提供更好调试支持的全新硬件特性,开发人员将能够在GPU上轻松开展开发工作,正如他们在CPU上开发应用程序一样。