泡泡网显卡频道 PCPOP首页      /      显卡     /      新闻    /    正文

图形API再革命!DirectX 11新技术预览

● Multithreading多线程处理

    现在,多线程已经被广泛使用,早在多年前,桌面处理器就有了超线程的概念。而现在双核心、三核心甚至四核心的处理器也随处可见。GPU也是一样,不仅有单独的单卡双芯产品,多路SLI、Crossfire也奠定了GPU多核心的发展。但是,对于GPU系统而言,多核心的程序调用并不成熟,从我们之前的测试中就可以发现,很多游戏在SLI、CrossFire平台上性能都不正常。这是什么原因呢?

    原来,多核心GPU在DirectX中,只能模拟成一个虚拟GPU。也就是说无论有多少物理GPU,到最后反映在DirectX中的只有一个虚拟GPU,因此只能设置一个命令缓冲区。如果驱动程序不够成熟的话,那么对多核心GPU的性能就无法得以体现。DirectX 11中的Multithreading正是为了解决这一问题而来。

    当然,这里并不是说DirectX 10和DirectX 10.1不支持多线程处理,而是微软强烈不建议使用此功能,因为性能不会有太大提升,反而有时候会出现稳定性的问题。在DirectX 11中,为了加强多线程处理能力,DirectX 11改变了以往DirectX 同步运行的对象和Device,使其可以被异步执行的API调用,并且程序员能够更加准确的控制程序运行的时间。

    在DirectX 11中,目前单一执行的Direct 3D设备被分为三个独立的InterFace:设备(Device)、立即执行范畴(immediate Context)和延迟执行范畴(Deferred Context),这样的设计可以将图形生成所需的资源做预先的存取。同时,CPU还可以利用显卡的多线程处理加快DirectX的处理,减少CPU的响应时间而使游戏不再受到CPU的瓶颈限制。

1人已赞

关注我们

泡泡网

手机扫码关注