Общепринятая практика - минус на корпусе.
Например в автомобиле, в большинстве радиоприборов корпус, кузов это минус. Масса.
Вы как-то подготавливали драйвера?
После установки измененного драйвера NVIDIA так и делают - отключают условную встройку.
Потому что должно быть удачное сочетание драйвера и прошивки, так как имеете дело с мутант-видеокартой.
Делфи не подойдет для исследований, он как раз цепляет только унифицированный API.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Direct3D9, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
direct3d: IDirect3D9;
device: IDirect3DDevice9;
display: TD3DDisplayMode;
pIdentifier: TD3DAdapterIdentifier9;
params: TD3DPresentParameters;
procedure TForm1.FormCreate(Sender: TObject);
var i: cardinal;
re: HREsult;
begin
direct3d := Direct3DCreate9( D3D_SDK_VERSION );
if direct3d=nil then ShowMessage('Ошибка создания Direct3D');
Memo1.Lines.add('Adapters: '+inttostr(direct3d.GetAdapterCount));
for i:=0 to direct3d.GetAdapterCount-1 do begin
Memo1.Lines.add('');Memo1.Lines.add('');
Memo1.Lines.add('Adapter #:'+inttostr(i));
re:=direct3d.GetAdapterIdentifier(i, 0, pIdentifier);
Memo1.Lines.add('result:'+inttostr(re));
Memo1.Lines.add('Driver:'+(pIdentifier.Driver));
Memo1.Lines.add('Description:'+(pIdentifier.Description));
Memo1.Lines.add('DeviceName:'+(pIdentifier.DeviceName));
re:=direct3d.GetAdapterDisplayMode( i, display );
Memo1.Lines.add('result:'+inttostr(re));
Memo1.Lines.add('width:'+inttostr(display.Width));
Memo1.Lines.add('Height:'+inttostr(display.Height));
Memo1.Lines.add('RefreshRate:'+inttostr(display.RefreshRate));
end;
ZeroMemory( @params, SizeOf(params) );
params.Windowed := True;
params.SwapEffect := D3DSWAPEFFECT_DISCARD;
params.BackBufferFormat := display.Format;
direct3d.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,
Handle, D3DCREATE_SOFTWARE_VERTEXPROCESSING,
@params, device );
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
device.Clear(0,nil,D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,255,0), 1.0, 0);
device.Present(nil, nil, 0, nil);
Timer1.Enabled:=false;
end;
end.
Adapters: 1
Adapter #:0
result:0
Driver:aticfx32.dll
Description:AMD Radeon HD 5700 Series
DeviceName:\\.\DISPLAY1
result:0
width:1280
Height:1024
RefreshRate:60
маловероятно, что разработчики драйверов предусмотрели такой сценарий использования.
Возможно есть способ решить вашу проблему, програмно, но зачем на это тратить время, когда на авито обычные gtx1060 стоят в районе 5тр, и в то же время в магазинах в свободной продаже есть RTX5xxx серии?
Здесь нужно точно знать, какие игровые движки проглотят тандем из видеокарт, а какие нет.
у меня запускаются несколько видеофайлов через mpc. Если вопрос терпит до понедельника - проверю и в браузере.
обычно так делали если нет достаточного места на плате, либо влом разводить землю и проще кинуть через корпус. ничего критичного в этом не вижу
заранее запасись статьями с настройками таких карт а так же утилиту https://github.com/nethe-GitHub/select_default_GPU select_default_GPU.bat которая сама добавит в реестр ключи EnableMsHybrid и т.п., чтобы обе видеокарты появились в «Настройки графики».
а так же она же позволяет выбрать для OpenGL по моему видеокарту.
В системе с двуми видеокартами DirectX «подсовывает» играм не ту видеокарту, которую надо. Как исправить?