请问下directX比CDC绘图速度快吗?

公共马甲0315 2016-10-17 05:11:03
我刚看这个库的资料,很想了解下dirextX的绘图速度?比CDC如何呢?

void RenderScene()
{
nms1 = GetTickCount();
g_D3DDevice->Clear(0,NULL,D3DCLEAR_TARGET,D3DCOLOR_XRGB(0,0,0),
1.0f,0);
g_D3DDevice->BeginScene();
g_D3DDevice->SetStreamSource(0,g_VertexBuffer,0,sizeof(stD3DVertex));
g_D3DDevice->SetFVF(D3DFVF_VERTEX);
g_D3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST,0,1);

RECT rect = {10, 10, 500, 50};
TCHAR sz1[80];
swprintf_s(sz1,80,L"%d ms",nms2);
d3df->DrawTextW(NULL,sz1,-1,&rect,DT_TOP|DT_LEFT,D3DCOLOR_XRGB(220,50,100));

g_D3DDevice->EndScene();
g_D3DDevice->Present(NULL,NULL,NULL,NULL);
nms2 = GetTickCount()-nms1;
}

这里绘制的彩色渐进色的三角形,只需要16-30ms的时间间隔,感觉确实非常快。但是一般的图形呢?需要cpu运算的那种图像,速度是否能超过CDC类库呢?
...全文
333 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dustpg 2016-10-19
  • 打赏
  • 举报
回复
显卡每秒钟渲染三角面数量不是CPU能比的, 游戏中三角面, 几百万个,几千万都有, 不过每次都都set_pixel的话,肯定比不上cpu, 带宽瓶颈摆在那里. lz的代码 1. GPU绝大部分时间花在渲染那"32ms"几个字上了. 2. GetTickCount太挫了.....精度就是16ms
用户 昵称 2016-10-19
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
GDI+生来不为速度,只为效果。
公共马甲0315 2016-10-19
  • 打赏
  • 举报
回复
引用 5 楼 dustpg 的回复:
显卡每秒钟渲染三角面数量不是CPU能比的, 游戏中三角面, 几百万个,几千万都有, 不过每次都都set_pixel的话,肯定比不上cpu, 带宽瓶颈摆在那里. lz的代码 1. GPU绝大部分时间花在渲染那"32ms"几个字上了. 2. GetTickCount太挫了.....精度就是16ms
赵4老师 2016-10-18
  • 打赏
  • 举报
回复
GDI+生来不为速度,只为效果。
公共马甲0315 2016-10-17
  • 打赏
  • 举报
回复

只是觉得这个好快呀,感觉GDI+也没有这么快的速度。
redui 2016-10-17
  • 打赏
  • 举报
回复
纯CPU运算,那是算法的比拼,如果DC已经有的功能,完全可以直接使用DC,它优化得足够好了,但不支持A通道处理,如果需要扩展功能,找其它的库吧,比如skia之类

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧