现在很多计算机已经配有多块显卡, 显卡驱动程序可以让多块显卡协同工作, NV管这种模式叫做SLI, ATI则叫做CrossFire模式. 采用这种模式渲染速度理论上可以翻倍.  这里以ATI的两块相同卡子组成CrossFire为例, 看下如何让我们的程序可以工作在多显卡模式上.

首先显卡工作在CrossFire的工作模式时,两块显卡的数据是复制的,数据内容是一样的.  假如每块显卡的本地显存是2G, 那么在CrossFire模式下,可用显存仍然是2G, 工作时,有一块为主卡,其余的是副卡,渲染工作的划分有好几种,现在主流的方法是按帧交替渲染( Alternate Frame Rendering ),  具体工作时,显卡驱动程序将CPU传来的每帧绘制命令按奇偶数发往不同的显卡.这样一块显卡渲染奇数帧,一块显卡渲染偶数帧.就实现了双卡同时工作. 而且这样做两块卡的负载也比较平衡.

需要注意在这种工作模式下,你的程序需要工作在全屏模式下, 也就是程序要独占显示设备.

另外一个需要注意的问题是在这种工作模式下,由于两块显卡要保存相同的数据, 因此当其中一块显卡的数据作了修改时,另外一块显卡必须同步修改,否则渲染结果会不正确. 显卡驱动有自已的一套策略来判断两块显卡的数据是否一致, 其中在程序由窗口模式时转换到全屏模式时,显卡驱动会对两块显卡的数据做一次同步操作.

但是如果在运行时动态修改了某块显卡的数据, 显卡驱动可能不能正确的进行另块显卡的数据同步. 因此在更新显卡数据时,我们需要有几块显卡,就连续更新几帧数据,比如两块显卡,我们原先用一帧进行UpdateResource,现在我们要连续两帧都要对同一资源进行更新.

另外我们的渲染引擎的设计要注意一些问题, 比如有些渲染需要利用前面的帧的渲染结果的等,

这里有一些会产生问题的地方:

1) Drawing to Vertex / Index Buffers
2) The use of Stream Out
3) CopyResource()
4) CopySubresourceRegion()
5) GenerateMips()
6) ResolveSubresource()

最后是本文的参考资料来自http://ati.amd.com/developer 的

<< Harnessing the Performance of CrossFireXTM >> , 有兴趣的人可以仔细看下.

另外在CrossFire模式下, 只有主卡可以接显示器, 别的卡显示器无输出, 当然,在主卡上仍然可以使用多显示器.

转载于:https://www.cnblogs.com/Perit/archive/2012/09/19/2693819.html

使你的程序支持多GPU渲染相关推荐

  1. 设置微信小程序支持npm(解决微信小程序npm构建时提示“没有找到可以构建的NPM包,请确认需要参与构建的npm都在miniprogramroot目录内,或配置project...”错误)的方法

    提示:通过微信开发者工具创建小程序工程后,默认是不开启npm的,需要修改小程序npm配置参数,否则将会提示"没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 minipro ...

  2. Sublime Text 4 首个稳定版终于来了:支持 GPU 渲染、兼容旧版本、Python API 升级

    技术编辑:小魔丨发自 思否编辑部 公众号:SegmentFault Sublime Text 是一个轻量.简洁.高效.跨平台的编辑器,支持 Linux.Windows 和 Mac OS X 操作系统, ...

  3. 如何使 SAP UI5 SmartField 在运行时渲染成超链接的形式并支持跳转的试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 作者简介 Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今.Jerry 是 SAP 社区导师,S ...

  4. c4d阿诺德渲染器支持a卡吗_MAXON宣布与AMD合作,C4D将提供原生GPU渲染引擎Radeon ProRender For C4D...

    Maxon宣布与AMD合作,通过AMD OpenCL CPU / GPU渲染器ProRender在Cinema 4D中提供GPU渲染. ProRender是开源,跨平台,免费提供,并为多个3D应用程序 ...

  5. Sublime Text 4首个稳定版发布:全新UI、多选项卡、支持GPU渲染

    作者 | oschina2013 来源 | OSC开源社区 Sublime Text 4 首个稳定版终于来了!此版本除了引入不少改进外,对于 Sublime Text 一直以来的长处也在加以完善.开发 ...

  6. electron 开发程序禁用gpu渲染

    一个简单的electron开发的客户端启动会有一下进程 进入gpu渲染方法 app.disableHardwareAcceleration(),这个方法必须在app ready之前调用. ***.ex ...

  7. Linux使用gpu渲染桌面,Firefox Nightly新版已经支持GPU网页渲染,Linux等全平台可用...

    火狐浏览器最新Firefox 63 Nightly版增加了WebRender工具,能让配置NVIDIA显卡的Windows 10桌面硬件自动开启GPU网页渲染功能,当然该版本也支持Linux.macO ...

  8. c++ opengl 三维图形中显示文字_为什么使用GPU渲染图形图像,而不使用CPU呢?

    引言 作为程序员,我们或多或少知道可视化应用程序都是由 CPU 和 GPU 协作执行的.那么我们就先来了解一下两者的基本概念: CPU(Central Processing Unit):现代计算机的三 ...

  9. CPU渲染与GPU渲染的优劣,教你选择合适的渲染方式

    使用计算机进行渲染时,有两种流行的系统:基于中央处理单元 (CPU) 或基于图形处理单元 (GPU). CPU 渲染利用计算机的 CPU 来执行场景并将其渲染到接近完美.这也是执行渲染的更传统方式.然 ...

  10. Android应用程序请求SurfaceFlinger服务渲染Surface的过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7932268 在前面一篇文章中,我们分析了And ...

最新文章

  1. Oracle 总复习
  2. date制作电子时钟
  3. 「offer来了」2种递进学习思维,24道计网题目,保姆级巩固你的计网知识体系
  4. 【MFC系列-第25、26天】绘图软件
  5. 【kafka】Kafka 源码解析:Group 协调管理机制
  6. 搭建了Pycharm对话平台
  7. VMware ESXI5.0的安装配置
  8. mysql用拼音显示字段名_MySQL汉字字段按拼音排序显示
  9. 《东周列国志》第七十七回 泣秦庭申包胥借兵 退吴师楚昭王返国
  10. 3dmax入门学习丨3dmax如何做人物建模
  11. 合理使用AutoHotKey+StrokeIt
  12. python实现简易聊天室程序
  13. java微信开发平台_Java微信公众平台开发(1) 接入微信公众平台
  14. 数组系列—连续数中寻找缺失的数字
  15. 微信公众号中的支付宝支付与微信支付 支付宝支付问题(微信bug)
  16. 基于人本理念的绩效管理体系设计(一)
  17. 一个退休程序员让百年数学难题逼近理论极限
  18. ADB关闭华为系统更新
  19. 中国社会信任的解体及其结果(zt)
  20. 【ios开发技术研究】Xcode8 及iOS10适配问题整理汇总

热门文章

  1. 微信小程序实现随机抽签功能
  2. 冲压模板自动标注LISP_自动标注.LSP
  3. endnotex8使用教程_「endnote教程」EndNote x8基础使用教程(一) - seo实验室
  4. 怎样将网络机顶盒usb调试模式打开
  5. udp测试android,如何在安卓系统进行UDP和TCP网络测试?【安卓实战】
  6. 广数系统加工中心编程_编程十五年,谈谈对加工中心编程的一些看法...
  7. 广数系统加工中心编程_数控加工中心编程的步骤
  8. python手动垃圾回收_Python3学习笔记,F,垃圾,回收
  9. 十个实用的谷歌搜索小技巧
  10. fh 幅频特性曲线怎么画fl_测量rc带通滤波器的幅频特性和相频特性-电子科技大学.ppt...