谁能将下面DirectDraw画图速度提高10倍? ( 积分: 100 )

  • 主题发起人 主题发起人 czw6296
  • 开始时间 开始时间
TColor* pSurf=(TColor*)ddsd.lpSurface;
if(phase)
{
for(int i=0;i<ClientHeight;i++)
{
for(int j=0;j<ClientWidth;j++)
{
pSurf[j]=(TColor)(RGB(255-i,255-j,255-i*j));
}
pSurf+=ddsd.lPitch;
}
这样为什么不对?pSurf+=ddsd.lPitch;应该怎么修改?
 
to czw6296:
至于 DMO和Filter你不用考虑了 那是DirectShow里面的 是Codec的一种 用于媒体文件播放的

我不太知道BCB下的DirectDraw怎么表示
但至少VC和Delphi中用DirectDraw画图都是往缓冲帧里画 然后Flip翻页翻出来
你的代码里没看到翻页的语句。。。好像你根本没用DirectDraw
 
1、代码都给你写出来了,你不会试一下啊???谁诓你不成???
2、如果你真想提高所谓“20 倍”的速度,就用 DrawDib 函数族,大多数媒体播放器都用这个,它们的声明在 msvfw.dll 中。
 
是不是Direct版本越高,速度越快。现在用Direct5速度可以达到画整屏每秒20帧,Direct9是不是会速度更快。有高人用过吗?请指点一二。
DorectX9把DirectDraw和Direct3D统称Direct Graphics,是不是增强了3D的功能,DirectDraw性能不会有多大提高?
 

Similar threads

I
回复
0
查看
612
import
I
I
回复
0
查看
774
import
I
I
回复
0
查看
516
import
I
I
回复
0
查看
582
import
I
后退
顶部