要将GDI 内容呈现到与 Direct2D GDI 兼容的呈现器目标,请使用 ID2D1GdiInteropRenderTarget,通过它可以访问可接受 GDI 绘制调用的设备上下文。与其他接口不同,此接口不会直接创建 ID2D1GdiInteropRenderTarget 对象。而是使用现有呈现器目标实例的 QueryInterface 方法。下面的代码演示如何执行此操作:...
Direct2DFactory->CreateHwndRenderTarget(D2D1::RenderTargetProperties(D2D1_RENDER_TARGET_TYPE_HARDWARE), D2D1::HwndRenderTargetProperties(this->WndHandle, WindowSize, D2D1_PRESENT_OPTIONS_IMMEDIATELY), &RenderTarget); 先感谢您。 首次尝试 Direct2D 的一个常见错误是开发人员没有正确缓存 D2D 资源,而是过于...
Direct2D完全在用户模式下运行,包括 Direct3D 运行时和用户模式 Direct3D 驱动程序。 这有助于防止内核中的代码缺陷导致系统崩溃。 但是,GDI在内核模式下的会话空间中具有大部分功能,其 API 图面处于用户模式。 硬件加速的可用性 GDI在 Windows XP 上是硬件加速,在运行桌面窗口管理器且使用 WDDM 1.1 驱动程序时,...
轮子哥的UI库也贴上来了,可以跟着翻着看看.看了轮子哥@vczh和@陈果果果果果栋的回答,决定使用Direct2...
将GDI 内容绘制到 Direct2D GDI-Compatible呈现器目标 相关主题 本主题介绍如何同时使用 Direct2D 和 GDI。 可通过两种方法将 Direct2D 与 GDI 结合使用:可以将 GDI 内容写入与 Direct2D GDI 兼容的呈现目标,也可以将 Direct2D 内容写入 GDI 设备上下文 (DC) 。本...
GDI是在 Windows XP 上加速的硬體,並在桌面視窗管理員執行且使用 WDDM 1.1 驅動程式時,在 Windows 7 上加速。Direct2D是在幾乎任何 WDDM 驅動程式上加速的硬體,以及 DWM 是否正在使用中。 在 Vista 上,GDI 一律會在 CPU 上呈現。 簡報模型 第一次設計 Windows 時,記憶體不足,無法讓每個視窗儲存在其自己的點...
由上图可以看出,Direct2D还自带了一个软件实现(Software rasterizer),这是因为如果显卡不支持硬件加速,那么Direct2D可以使用软件方式渲染,即使这样,效果还是要优于GDI的。上图中在Direct3D下面还有一个层叫DXGI,其全称是:DirectX Graphics Infrastructure,DXGI从Direct3D 10中才开始存在,主要是为了将一些与3D图形无关的...
Direct2D与Direct3D,GDI,GDI+都有着良好的交互性,因为他们都支持表面级别的操作,这里的表面在Direct3D中就是surface,而在GDI中则相当于DC(Device Context)。此外Direct2D还能很好的支持DirectWrite,DirectWrite也是DirectX中一个新的Feature,主要用来做文本的绘制。下图是这几者指间的关系 ...
MFC中GDI与Direct2D交互 D2D1 例子 CMFCGdiInterop
Direct2D与Direct3D,GDI,GDI+都有着良好的交互性,因为他们都支持表面级别的操作,这里的表面在Direct3D中就是surface,而在GDI中则相当于DC(Device Context)。此外Direct2D还能很好的支持DirectWrite,DirectWrite也是DirectX中一个新的Feature,主要用来做文本的绘制。下图是这几者指间的关系 ...