24得票4回答
TDirect2DCanvas慢吗?还是我做错了什么?

在寻找替代GDI的方案时,我试图测试Delphi 2010的TDirect2DCanvas在Windows 7上的性能表现。 我通过使用Direct2D绘制一个巨大的折线来进行测试,结果非常慢,即使比我之前使用GDI运行相同测试所使用的数据量少了500倍(而且我甚至没有在GDI中使用位图作为...

19得票4回答
GDI与Direct2D的比较

我目前正在编写一个模拟程序,想将应用程序从使用GDI改为使用Direct2D。但是我的Direct2D代码比我的GDI代码慢得多。 我在屏幕上渲染了很多椭圆形。在我的GDI应用程序中,我绘制到内存设备上下文中,然后使用BitBlt绘制到窗口设备上下文中。对于Direct2D,我绘制到ID2D...

15得票6回答
Windows中平滑的窗口缩放(使用Direct2D 1.1)?

我很不爽Windows中窗口的调整大小不如我所期望的那么“平滑”(这适用于Windows程序总体而言,而不仅仅是我的程序。Visual Studio是一个很好的例子)。它让操作系统和它的程序感觉“不牢固”和“廉价”(是的,我关心程序和用户界面的“感觉”,就像我关心关闭汽车门的声音和手感一样。这...

13得票6回答
如何在每个垂直同步时只进行一次渲染(不重复,不跳帧)?

我尝试进行垂直同步渲染,以便每次垂直同步仅进行一次渲染,而不会跳帧或重复任何帧。我需要在Windows 7下(未来还有Windows 8)中使用此功能。 它基本上包括绘制一系列QUADS,使其适合屏幕,以便原始图像的每个像素与屏幕上的一个像素1:1匹配。渲染部分不是问题,可以使用OpenGL...

12得票4回答
将Direct2D渲染重定向到WPF控件

我正在使用 Visual C++ 和 Direct2D 开发一款绘图应用程序。 我有一个演示应用程序,其中: // create the ID2D1Factory D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &m_pDir...

12得票2回答
为什么我的Direct2D绘图性能如此糟糕?

我正在Win7上开发一个Dotnet 4.0应用程序,需要进行映射。作为一款地图应用程序,它会输出大量的高分辨率平滑多边形。目前,它支持两种渲染输出类型:GDI+和Direct2D。 我担心的是,GDI+输出速度约快3倍于Direct2D。 两个渲染器都使用AA。我知道我可以在Direct...

12得票2回答
Direct2D中的像素

这些深灰色的线应该是黑色并且只有1像素宽:pRT->DrawLine(Point2F(100, 120), Point2F(300, 120), blackbrush, 1); 浅灰色的线应该是黑色且宽度为0.5像素:pRT->DrawLine(Point2F(120, 130...

11得票2回答
DirectWrite:获取字体高度

我的目标: 我想获得一个IDWriteTextFormat字体的高度,以便计算在给定高度的IDWriteTextLayout中可以容纳多少行文本。 我的问题: 目前我正在使用以下代码来计算可见行数:inline int kmTextCtrl::GetVisLines() const { ...

11得票2回答
Direct2D深度缓冲区

我需要绘制一组形状,我正在使用Direct2D。我从文件中获取形状列表。该列表已排序,文件内元素的顺序表示将绘制这些形状的顺序。因此,例如,如果文件指定了两个位置和大小相同的矩形,则只有第二个矩形将可见(因为第一个将被覆盖)。 给定我的形状列表,我按以下方式进行绘制:list<Shap...

11得票3回答
分解2D变换矩阵

所以,我有一个Direct2D的Matrix3x2F,用于存储几何体上的变换。我希望这些变换可以由用户编辑,但不希望用户直接编辑矩阵。是否有可能将3x2矩阵分解为缩放、旋转、扭曲和平移?