16062901(双显卡测试)

【目标】

双显卡测试

【思路】

1 在创建Device的时候加入测试代码

FD3D9DynamicRHI.UpdateD3DDeviceFromViewports

  1. for( UINT Adapter=0;Adapter<Direct3D->GetAdapterCount();Adapter++)
  2. {
  3. D3DADAPTER_IDENTIFIER9 Identifier;
  4. HRESULT Res=Direct3D->GetAdapterIdentifier(Adapter,0,&Identifier);
  5. if( appStrstr(*FString(Identifier.Description), TEXT("PerfHUD"))!= NULL )
  6. {
  7. AdapterNumber=Adapter;
  8. DeviceType= D3DDEVTYPE_REF;
  9. break;
  10. }
  11. printf("Device[%d]%s\n",Adapter,Identifier.Description);
  12. D3DCAPS9 DCaps;
  13. if(SUCCEEDED(Direct3D->GetDeviceCaps(AdapterIndex,D3DDEVTYPE_HAL,&DCaps)))
  14. {
  15. printf("MaxPrimitiveCount=%d,MaxVertexIndex=%d\n",DCaps.MaxPrimitiveCount,DCaps.MaxVertexIndex);
  16. }
  17. }

2 在笔记本上测试,输出就一个显卡device

也就是驱动层已经自动分配了,

3 NVIDIA的说明 Optimus路由层会识别DX调用就会切独立GPU,然而并不是

http://www.docin.com/p-1654368378.html

4 官网开发向导

https://developer.nvidia.com/optimus

5 网上有个同样问题的帖子

http://stackoverflow.com/questions/10535950/forcing-nvidia-gpu-programmatically-in-optimus-laptops

解决方案

320

6 官方文档在附件

http://www.nvidia.com/object/LO_optimus_whitepapers.html


http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf

静态链接

7 实验

尝试在PIB.h

  1. // Nvidia Global variable
  2. extern"C"{
  3. _declspec(dllexport)extern DWORD NvOptimusEnablement;
  4. }

PIB.cpp

  1. // Nvidia Global variable
  2. extern"C"{
  3. _declspec(dllexport) DWORD NvOptimusEnablement=0x00000001;
  4. }

用dependence看

但是测试还是没有效果

8 实验

测试动态链接库

在WinMain中

  1. HINSTANCE his =LoadLibraryA("nvapi.dll");
  2. ....
  3. FreeLibrary(his);//释放dll

依然木有效果

9

http://stackoverflow.com/questions/29504891/laptop-dual-video-cards-how-to-programatically-detect-and-or-choose-which-one?lq=1

http://stackoverflow.com/questions/33333468/what-is-the-best-way-to-programmatically-choose-the-best-gpu-in-opencl

10 这个问题比较贴切

http://stackoverflow.com/questions/16354607/directx11-sdk-june2010-initialization-on-vc-2010

回答

11 这个说的是官方方法没效果的

http://stackoverflow.com/questions/17270429/forcing-hardware-accelerated-rendering

12

http://gamedev.stackexchange.com/questions/53999/select-display-adapter-in-d3d9/54004#54004

13

createdxgifactory1

enumadapters 1

https://msdn.microsoft.com/en-us/library/windows/desktop/bb174538(v=vs.85).aspx

上面是DX11的接口

14 在FD3D9DynamicRHI.UpdateD3DDeviceFromViewports中,添加测试代码

 

15 把显卡名字显示到标题栏中

16 实验:使用DX11

参数添加 -dx11

【步骤】

1

附件列表

时间: 2024-11-25 17:00:54

16062901(双显卡测试)的相关文章

NVIDIA双显卡

第一步:代码:sudo update-pciids #更新显卡信息非常重要,否则可能识别出错lspci -v | grep -i vga #察看显卡 我的显卡信息如下:代码:00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])01:0

[转载]屏蔽双显卡笔记本的独显

概述 这个教程的目的,是向大家展示,怎样通过修改DSDT和SSDT,来屏蔽双显卡笔记本的独立显卡.(例如:Intel集成显卡+英伟达独立显卡[Optimus技术],还有Intel集成显卡+Radeon独立显卡). 因为在黑苹果下,双显卡笔记本只能驱动英特尔的集成显卡,而独显如果不做任何处理,虽然它不会工作,但是,一般情况下,独显还是会处于激活状态,并且消耗电力,产生热量,造成风扇噪音,和电池电量的快速消耗.虽然我们可以在BIOS里关闭独显,但是,通过修改ACPI文件来屏蔽是更好的选择,因为这样屏

linux笔记本安装双显卡驱动(intel+nvidia)

为了提高linux的显卡性能以及降低功耗,特有此文. 本人使用的系统是Fedora 20 Xfce x64,安装驱动前先确保系统为最新版本. 最好安装gcc.kernel-devel等软件包,我不确定后面会不会作为依赖自动安装. --- 安装intel集显驱动,可以自行去intel官网查找,或者直接访问https://01.org/linuxgraphics/ 这个地址就是intel官方提供的,点击页面左侧download,找到所需文件. 由于直接提供了fedora的rpm包,下载安装即可. 这

使用 Bumblebee 控制 NVIDIA 双显卡

简介 Nvidia的双显卡切换技术叫Optimus(擎天柱),可惜只能在win7.vista下实现.Linux下没有对应的技术,当然苹果也没有.这导致独立显卡一直在启用,显卡发热升温,风扇狂转,却没有正常工作输入.平时笔记本电池在 Win7 能使用4小时,到了 Ubuntu 两个小时左右就耗光了.AMD早已经为ATI显卡开发出Linux下的催化剂,支持A卡与intel集显之间切换,N卡的用户只能嘴馋. Optimus 技术是不依赖于硬件复杂结构的交火显卡实现.独立显卡按需渲染,并传输给集成显卡,

linux 双显卡问题。。。

测试的机器是acer 4750g, GT540M 转自http://www.linuxidc.com/Linux/2012-07/66193.htm 和http://duxyng.wordpress.com/2012/01/26/finally-working-nvidia-optimus-on-fedora-16/ 有些地方根据我遇到的情况作了小小修改,更清楚了一点. Fedora 17下NVIDIA双显卡闭源驱动的安装,执行命令 lspci|grap VGA 看能否识别两张显卡,不行的就不要

debian 9 双显卡安装NVIDIA显卡驱动

最近用debian,给debian装n卡驱动折腾了好几天了,主要还是网络不好,官方wiki的方法下载经常卡死..摸索了几天感觉已经摸到了头绪,决定写下来供大家参考参考 先提供单显卡NVIDIA驱动的安装,如果是双显卡的请直接去文章最后查看,不要按照前几个方法操作,因为这可能会造成内核冲突-- 方法一: 官方wiki的安装方法(不黑屏命令行直接安装,推荐科学上网之后再这么做): 官方wiki所有显卡安装链接:https://wiki.debian.org/GraphicsCard 1.打开终端,r

双显卡安装Fedora 20

电脑CPU上有核芯显卡,独立显卡是Nvidia的GeForce.在安装Fedora 20 64位的时候,通常会有一个优先级.在电脑BIOS中有一个显卡的启动选项,PCIe或者IGFX,PCIe是独立显卡,IGFX是集成的Intel核显.做两个实验. 1. 将BIOS显示设置为PCIe,不禁用核显.将显示器VGA插到核显上,那么在启动时会启动独立显卡,可是由于独立显卡没有连接显示器,屏幕不亮.待到启动完成,进入系统,会自己主动认出核显,显示器正确连接. 2. BIOS设置不变,将显示器VGA连接到

Archlinux 下Intel + NVIDIA 双显卡3D 游戏配置([email&#160;protected])

贴吧里问这问那中午睡醒后做好的,下午打了几场dota2 感觉流畅度还算很不错的,写点东西记录一下.用Archlinux 的一般来说都会用搜索引擎,所以只说下需要注意的地方即可. 1. steam 自带的OpenGL 库是过时的,运行可能会抱怨"Cannot find OpenGL GX" 之类的东西,看ArchWiki 「steam」条目,删除steam 自带的几个库. 2. 但是删除了steam 自带的那些库之后你需要在系统中安装新版的库,除去64 位的库之外(不可能还有人在用32

linux关闭双显卡的方法

我正在使用的一体机是双显卡,在linux下没有很么太好的办法来切换双显卡, 导致使用一会儿后就发烫,关键是这时风扇呜呜的响很吵人 最后找到了下面的解决方法来关掉独立显卡 见 https://github.com/marcoDallas/acpi_call_GUI_systemd