Hallo,
ja ich hab schon was mit Direct2D unter DirectX10.1 gemacht. Die Sache ist ganz einfach die: ursprünglich wollt ich ja meine MultiMedia Anwendung unter DirectX9 schreiben (wegen DirectShow und DBA). Das Problem ist aber das zwar Shared Surfaces mit D3D9Ex funktionieren, nur die Performance von der gerenderten Direct2D-> 10.1 Texture zu wünschen übrig läßt. Zumindest hab' ich nicht flüssig hinbekommen ... Lauftext ruckelt, etc. Problem ist laut
MSDN vermutlich der permanente 10.1 Flush denn man braucht.
Drum will ich jetzt gleich auf DX11 umsteigen
Nun zum Debug-Layer. Hab mir das Teil installiert.. gutes Tool, danke für den Hinweis. Nun hab ich folgendes ausprobiert:
Delphi-Quellcode:
lDXGIDevice:=nil;
hr:=DeviceD11.QueryInterface(IDXGIDevice, lDXGIDevice);
pFactoryOptions.DebugLevel:= D2D1_DEBUG_LEVEL_INFORMATION;
D2D1CreateFactory(D2D1_FACTORY_TYPE_MULTI_THREADED, ID2D1Factory1, @pFactoryOptions, gD2DFactory1);
hr:=gD2DFactory1.CreateDevice(lDXGIDevice, m_d2dDevice);
hr:=m_d2dDevice.CreateDeviceContext(D2D1_DEVICE_CONTEXT_OPTIONS_ENABLE_MULTITHREADED_OPTIMIZATIONS, m_d2dContext);
das entspricht auch der Vorgehensweise von hier: [
MSDN]http://
msdn.microsoft.com/en-us/library/windows/desktop/hh780339(v=vs.85).aspx[/
MSDN]
Und DebugLayer gibt mir folgendes aus:
Debug-Ausgabe:
D2D DEBUG ERROR - The parameter [printControlProperties->fontSubset] with value [1245036] for ID2D1Device::CreatePrintControl is not a valid enumeration value.
Ich wollte ja ein DeviceContext erstellen und kein PrintControl....