1、首先打开浏览器,百度搜索并下载“DirectX 修复工具”;
2、下载完成后,双击打开DirectX 修复工具;
3、在打开的DirectX 修复工具页面中点击“工具”-“选项”;
4、然后选择“directX加速”,可以看到下面的启用功能,点击“启用”;
5、然后就开启了DirectDraw加速和Direct3D加速功能了。
无法开启DirectDraw加速的原因:
1 显卡驱动没装 ,可以下载带网卡驱动的驱动软件安装。
2 显卡不支持DX 高级版本 ,只能换显卡,现在支持的显卡也不贵
3 硬件加速没开。
安装完成后DirectX.exe程序会自动运行,如下图所示,点击右上角的“检测并修复
程序会自动检测出有异常的dll文件,并且会自动修复,只需要等待程序修复成功即可无需任何 *** 作
出现下面窗口点击“取消”哦,无需理会
// 初始化设置DirectDrawint 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
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)