目前显卡通用计算发展如火如荼,但无论是NVIDIA的CUDA,或是ATI的Stream,还是苹果领头的OpenCL,都没有在业界形成绝对的领导力。因此,微软在DirectX中加入有关通用计算的内容,无疑将使GPGPU通用计算的未来更加不确定。
新加入的Compute Shader可以让显卡完成更多的通用计算。同时,这幅图片还表明了新的
DirectX 11的流水线构成。
DirectX 11新加入的Compute Shader重要的特性是支持通用计算,即GPGPU。微软将提供HLSL语言对Compute Shader进行支持。Compute Shader可以支持线程间的数据共享,完全支持
DirectX 3D的所有计算资源,随时可以将数据从流程中调入调出,不受渲染管线的限制。为了更好地为科学计算提供帮助,Compute Shader还可以支持双精度计算。
从目前的情况来看,较DirectX 10/10.1而言,DirectX 11的改进不能称为大跨越,只是它们的一个超集。相比之下,真正的跨越是从DirectX 9.0c到DirectX 10。但是,DirectX 11依旧在完善和优化DirectX 10/10.1的统一渲染架构。只不过在视觉特效上,我们可能难以看到DirectX 11和
DirectX 10/10.1的明显区别,毕竟DirectX 11的重要目标在于改善编程难易程度、增加更多的功能。
另一方面,DirectX 10诞生一年多以后,我们才在游戏中看到DirectX 10相对DirectX 9明显的性能和画质进步。可想而知,一款全新的DirectX要真正被掌握和应用是多么困难的事情。可以预见,DirectX 11无形中也给显卡的发展提供了一个足够的缓冲期,在大量的DirectX 10技术成熟并广泛应用,操作系统全面转向Windows Vista甚至Windows 7之后,DirectX 11才可能真正面向终端用户并大力发展。