DirectX 11的3D加速引擎
1. DX 11处处优化 GPU
Windows 7最大的特点之一还在于引入了新一代的API——DirectX 11。它除了集成有Direct2D、DirectWrite之外,还有DXGI(DirectX图形基础构造),用于管理设备和GPU资源以及提供DirectX和GDI之间的交互性。同时还整合了用于渲染3D图形的Direct3D 10/10.1和Direct3D 11,后者更新,支持下一代GPU。
通过DirectX 11中的Compute Shader(计算着色器)将使GPU具有更好的并行处理能力。特别是在拥有多个GPU的系统中,DirectX 11中的Multi-Threading多线程技术,可在API底层对多个GPU进行优化,减少对驱动和游戏渲染模式的依赖,也有助于提升多个GPU并联的工作效率,降低驱动开发难度及性能损失。而在渲染效率方面,TessellATIon(镶嵌化技术)让程序员只需要简单勾绘一个轮廓,便能自动对其进行贴图拆嵌,可大大提高渲染速度以及开发效率。
2. 统一通用计算标准
在DirectX 11中,最重要的还是Compute Shader,它是一种包含线程间数据通信、随机访问和流式I/O操作单元等组件的3D图形加速引擎,能加快和简化图像后期处理。众所周知,Intel、AMD、NVIDIA、IBM等厂家纷纷推出了自己的通用并行计算平台或理论,如NVIDIA的CUDA、AMD的GPGPU、Stream等,为此展开了激烈的竞争。但是这种标准林立的情况无疑将加大程序或程序员适应不同厂家硬件的难度,增大软件开发的工作量。为此,在使用更广泛的DirectX图形领域,Compute Shader的面世将改变这种乱战局面。
程序员可以直接将GPU作为并行处理器加以利用,将复杂的数据结构交给Compute Shader后,就能直接运行各种通用算法。GPU不仅具有3D渲染能力,也具有其他的加速运算能力,这就是我们说的GPGPU概念和物理加速运算,而且多线程处理技术使游戏更好地利用了系统的多个核心。为此,程序员可通过Compute Shader加速引擎来实现像素渲染引擎无法实现的高级特效,如A-Buffer缓存取样技术,可以很大程度增加抗锯齿以及无规则透明度的性能。还可以带来更先进的Deferred Shading(延迟着色)技术、卷积运算、FFT(快速傅里叶转换)以及区域求和表算法。
3. Compute Shader增强GPU应用
Windows 7内置的GPU加速功能基于DirectX 11中的Compute Shader通用计算技术,在一段海洋Demo中,实时计算大规模波浪动态效果需要庞大的计算量,如果用传统的模拟算法来实现这一效果,渲染速度将难以让人接受。而使用Computer Shader技术,API将能借助GPU强大的浮点计算能力进行加速计算,便能轻易完成大量的FFT转换,极大地提高波浪生成速度以及画面质量。据测试表明,借助Compute Shader,DirectX 11可以提供最多三倍于DirectX 10.1的加速性能,特别是在基于屏幕空间的环境光遮蔽(SSAO)中,它可以使用更少的工作流程来处理大量数据流,并减轻纹理单元读取数据的工作压力。
关注天下网吧微信,了解网吧网咖经营管理,安装维护: