c# - 如何为 Direct2D 提供不同的呈现目标?

标签 c# winforms directx direct2d

我在 C# 中使用 Direct2D 为我的研究项目呈现一个小型图形用户界面框架。我不太习惯在 Windows 或 DirectX 上工作。我正在使用 Windows 窗体控件创建渲染目标,msdn 警告说,由于它使用 BindDC,渲染目标越大,性能就越差(当我最大化窗口,我得到大约 15 fps)。

为 Direct2D 创建渲染目标的更好方法是什么?有没有办法创建一个窗口并直接渲染它,而不是先渲染到控件的缓冲区,然后再渲染它?如果是,怎么办?

对不起,如果我的英语很烂,而不是我的母语。

最佳答案

您应该能够改用 CreateHwndRenderTarget,使用控件的 Handle 属性。要做到完全正确,请创建您自己的控件并覆盖 OnHandleCreated() 方法。并覆盖 OnPaintBackground() 并且什么都不做。

关于c# - 如何为 Direct2D 提供不同的呈现目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2652326/

相关文章:

c# - 检查是否至少选择了一个复选框列表在 windows 窗体中

c++ - 一种在没有光线转换和多个目标的情况下使用 3D 寻路的方法

javascript - Node.js 在屏幕上绘图

c++ - 如何在 DirectX 9 中将 XMMATRIX 转换为 D3DMATRIX?

c# - 删除子目录时IIS重新启动MVC3应用程序

c# - WMI 查询的 select 子句中的数学运算

c# - MVC 5 - 在登录时设置 session 变量

c# - 有没有一种工具可以通过包装成员字段或属性来实现接口(interface)?

c# - 用鼠标右键单击时如何为上下文菜单上的特定项目着色?

winforms - 处理 DataTable.DataRow 单元格更改事件