×

directdraw ec direct

directdraw(directdraw加速不可用)

admin admin 发表于2023-05-04 18:37:04 浏览56 评论0

抢沙发发表评论

本文目录

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了。