本文目录
- directdraw加速不可用
- 如何初始化DirectDraw
- 什么是 directdraw
- win7怎么关闭directdraw
- 怎么关掉DirectDraw加速
- 如何开启DirectDraw加速和Direct3D加速
- DirectDraw是什么意思
- win7下directdraw没有启动,禁用选项
directdraw加速不可用
在“运行“里输入“dadiag“ ,启动“DirectX“诊断工具,再在点选“显示“开启3D加速就行了
若那个键是灰色的,那么在桌面上右键--属性--设置--高级--疑难问题--从无改到全不知道机子的型号,也就不知道它用的是什么显卡,所以有可能有两种解决之道:
1.此机显卡配置太低,不支持硬件加速。办法:换块显卡
2.显卡支持硬件加速,只是还没开启这个功能。办法:安装DirectX9.0或DirectX10.0,你在网上搜搜就能找到,安装软件我想就没必要再说什么了吧,呵呵
如何初始化DirectDraw
最简单的是使用全屏独占模式。
要开始初始化DD,首先创建并显示一个窗口,获得它的句柄;
初始化代码:
#include 《ddraw.h》
#pragma comment(lib,“dxguid.lib“)
#pragma comment(lib,“ddraw.lib“)
LPDIRECTDRAW7 lpDD;
LPDIRECTDRAWSURFACE7 lpDDSMain;
LPDIRECTDRAWSURFACE7 lpDDSBack;
//下面程序初始化DD,并设置窗口分辨率为width*height,bpp为色深,注意要设定相应变量的值为适合的值(如800*600*16),否则初始化失败。
bool InitDDraw(HWND hWnd, int width, int height, int bpp)
{
if(FAILED(DirectDrawCreateEx(NULL, (VOID**)&lpDD, IID_IDirectDraw7, NULL)))
return false;
if(FAILED(lpDD-》SetCooperativeLevel(hWnd, DDSCL_EXCLUSIVE|DDSCL_FULLSCREEN)))
return false;
if(FAILED(lpDD-》SetDisplayMode(width, height, bpp, 0, 0)))
return false;
DDSURFACEDESC2 ddsd;
ZeroMemory( &ddsd, sizeof( ddsd ) );
ddsd.dwSize = sizeof( ddsd );
ddsd.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT;
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP | DDSCAPS_COMPLEX | DDSCAPS_3DDEVICE;
ddsd.dwBackBufferCount = 1;
if(FAILED(lpDD-》CreateSurface( &ddsd, &lpDDSMain, NULL)))
return false;
// Get a pointer to the back buffer
DDSCAPS2 ddscaps;
ZeroMemory( &ddscaps, sizeof( ddscaps ) );
ddscaps.dwCaps = DDSCAPS_BACKBUFFER;
if(FAILED(lpDDSMain-》GetAttachedSurface( &ddscaps, &lpDDSBack)))
return false;
lpDDSBack-》AddRef();
return true;
}
什么是 directdraw
楼上的不准确.
DirectX听说过吧,经常说它能提高游戏的速度.其实并不是它真正能做到什么来给游戏加速,而是程序员如果用DirectX中包含的库来开发会比早期的DOS下编写更容易,而程序速度也大大提高.因为它是真对WINDOWS操作系统的程序员开发库,所以它在对WIN程序的处理会更好一些.
DirectDraw就是DirectX系列中的其中一部分,看它的Draw就能了解到它是用做绘图的,所以它就是DirectX中的2D图象控制库函数,程序员用这部分来处理2D图象方面的显示读取等操作...从DirectX8开始就已经取消了对DirectDraw图形部分的升级,所以它只停留在了DirectDraw7时期.
很多软件都应用了它,如PHOTOSHOP等图形处理软件.ADCSEE图片查看软件.最常用的领域就是游戏开发.
win7怎么关闭directdraw
方法一:修改注册表法
1、首先点击win7的开始,找到并打开运行,输入regret,打开Win7注册表器;
2、依次定位到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlGraphicsDriversDCI;
3、然后在右侧窗口中找到并双击“Timeout“;
4、在弹出的窗口中将默认值“7“修改为“0“;
5、修改完毕后,保存设置退出,再下次启动时即可生效。
方法二:安装Windwos7专用驱动
有部分Windows7用户会发现,修改注册表并重启计算机后,DirectDraw在Windows7下仍然处于启用状态,即通过修改注册表的方法不能禁用DirectDraw,这是由于Windows7在显卡驱动方面与XP有所不同,有的显卡用户,在win7下需要下载安装专用驱动,一些公版驱动,以及一些Windows XP下的驱动,它们Windwos7下是无法修改DirectDraw的状态的。与DirectX其它组件一样,只要可能,DirectDraw就会最高程度的利用硬件执行某特定功能,并且让那些该硬件还不支持的特性也能用软件仿真的方式加以实现。
怎么关掉DirectDraw加速
1、首先,在电脑桌面左下角的开始按钮中,找到运行的按钮并点击。
2、然后,在打开的运行对话框中中输入命令regedit,然后点击确定。
3、这时就会打开Windows10的注册表器的对话框,然后,在对话框中,我们在搜索框中定位到\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\DCI中。
4、在右侧的窗口中,我们找到TimeOut注册表键值 。
5、接下来右键点击TimeOut键值,在弹出菜单中选择“修改”菜单项。
6、这时就会打开注册表键值的窗口,在窗口中把数值数据修改为0,点击确定即可。
如何开启DirectDraw加速和Direct3D加速
1、首先打开浏览器,百度搜索并下载“DirectX 修复工具”;
2、下载完成后,双击打开DirectX 修复工具;
3、在打开的DirectX 修复工具页面中点击“工具”-“选项”;
4、然后选择“directX加速”,可以看到下面的启用功能,点击“启用”;
5、然后就开启了DirectDraw加速和Direct3D加速功能了。
DirectDraw是什么意思
DirectDraw 是一个面向对象的函数库. “面向对象“的意思并不是指面对著你的女朋友, “对象“ 在这里, 你可以简单地想象成是一个模板, 比方说,“政府“, 一旦你说:“我成立了一个政府“. 别人 就会立即把你套入“政府模板“, 自然而然地认为你有印钞票的功能. 在我们的程式里, 你一旦声明 一个变量(比如 myDD)是 DirectDraw对象 (DirectDraw对象的正式名为 LPDIRECTDRAW) , 这个myDD就有了 DirectDraw对象的所有的功能和特性.
win7下directdraw没有启动,禁用选项
win7下directdraw没有启动,禁用选项,是设置错误造成的,解决方法如下;
1、首先在系统桌面,右键点击左下角的Windows徽标键,在弹出菜单中点击运行菜单项。
2、接下来在打开的运行窗口中,输入命令regedit,然后点击确定按钮。
3、定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\DCI在窗口中定位到计算机。
4、然后在右侧的窗口中,找到TimeOut注册表键值 ,接下来右键点击TimeOut键值,在弹出菜单中选择“修改”菜单项。。
5、这时就会打开注册表键值的窗口,在窗口中把数值数据修改为0,最后点击确定按钮,重新启动计算机后就可以禁用DirectxDraw了。