如何开启DirectDraw加速和Direct3D加速?

如何开启DirectDraw加速和Direct3D加速?,第1张

1、首先打开浏览器,百度搜索并下载“DirectX 修复工具”;

2、下载完成后,双击打开DirectX 修复工具;

3、在打开的DirectX 修复工具页面中点击“工具”-“选项”;

4、然后选择“directX加速”,可以看到下面的启用功能,点击“启用”;

5、然后就开启了DirectDraw加速和Direct3D加速功能了。

无法开启DirectDraw加速的原因:

1 显卡驱动没装 ,可以下载带网卡驱动的驱动软件安装。

2 显卡不支持DX 高级版本 ,只能换显卡,现在支持的显卡也不贵

3 硬件加速没开。

安装完成后DirectX.exe程序会自动运行,如下图所示,点击右上角的“检测并修复

程序会自动检测出有异常的dll文件,并且会自动修复,只需要等待程序修复成功即可无需任何 *** 作

出现下面窗口点击“取消”哦,无需理会

// 初始化设置DirectDraw

int CObjWinThread::AfxInitDirectDraw(HWND hWnd,int width,int height)

{

m_hAfxDrawWnd=hWnd

// 屏幕大小

m_iAfxDirectWidth=width

m_iAfxDirectHeight=height

// 一>初始化DirectDraw

// 这个结构描述"页"的特徵,见 DDSURFACEDESC2结构体的简介.txt

DDSURFACEDESC ddsd

// 清空变量

memset(&ddsd,0,sizeof(ddsd))

// 结构的大小

ddsd.dwSize = sizeof(ddsd)

// 设定页的大小,

ddsd.dwWidth=m_iAfxDirectWidth

ddsd.dwHeight=m_iAfxDirectHeight

HRESULT result

result=DirectDrawCreate(NULL/*用当前的显示驱动*/,&m_pAfxDirectDraw,NULL)

if(result!=DD_OK)

return -1

// 二>设置屏幕的显示模式

// "全屏"模式下设置

m_pAfxDirectDraw->SetCooperativeLevel(m_hAfxDrawWnd, DDSCL_EXCLUSIVE|DDSCL_FULLSCREEN|DDSCL_ALLOWREBOOT)

// 设置屏幕颜色和大小(水平,垂直,颜色位数)

m_pAfxDirectDraw->SetDisplayMode(m_iAfxDirectWidth,m_iAfxDirectHeight,24)

// 三>建立前页

// 用于指定结构中那些数据是有效的,DDSD_ALL表示所有的数据成员都有效

ddsd.dwFlags=DDSD_CAPS|DDSD_BACKBUFFERCOUNT

// 后页一个

ddsd.dwBackBufferCount=1

// 指定我们用的是前页

ddsd.ddsCaps.dwCaps=DDSCAPS_PRIMARYSURFACE|DDSCAPS_COMPLEX|DDSCAPS_FLIP

// 建立前页

result=m_pAfxDirectDraw->CreateSurface(&ddsd,&m_pAfxMainSur,NULL)

// 当发生错误时, 要记得 Release对象.

if(result!=DD_OK)

{

AfxMessageBox("建立主页失败!")

return 0

}

// 连接后缓冲区页,只有全屏方式下才行

DDSCAPS Caps

Caps.dwCaps=DDSCAPS_BACKBUFFER

result=m_pAfxMainSur->GetAttachedSurface(&Caps,&m_pAfxBackSur)

if(result!=DD_OK)

{

AfxMessageBox("连接后缓冲区失败!")

return 0

}

return 1

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11161236.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存