您好,欢迎来到气泡游戏网!

气泡游戏网
手机应用中心 热门攻略 轩辕传奇 气泡问问 疾风之刃 枪神纪 天堂2M 救世者之树 上古世纪 黑色沙漠MOBILE 未来战 冒险岛M(楓之谷 M) 传说对决 瓦尔海姆 鬼谷八荒 怪物猎人系列

当前位置:首页 > 攻略库 > 魔力宝贝 > 正文

《魔力宝贝(CrossGate)》【心得】Windows 7 关闭显示卡硬体加速

更新时间:1602335419   |   来源:巴哈姆特

slimshsieh (阿布) #1 2010-11-15 14:08:44
以下是在 Windows 7 关闭显示卡硬体加速的最终简易方法,使用在防止多开视窗时的延迟现象

简化版:(在 x64 下,不需关闭 x64 相关的机码,只需关闭 x86 的部分)
REM 将以下内容存成一批次档后执行 (ex: ControlDX.cmd)
@echo off
@net user administrator /active:yes 1>nul
FOR /F "tokens=3" %%A IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "BuildLabEx"') DO SET BuildLabEx=%%A 1>nul
ECHO %BuildLabEx% | FINDSTR /I "amd64" 1>nul
IF NOT ERRORLEVEL 1 (
SET RootKey=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft
) ELSE (
SET RootKey=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
)
echo %RootKey%\Direct3D\Drivers [1 5 8 17] > regset.ini
echo %RootKey%\DirectDraw [1 5 8 17] >> regset.ini
regini regset.ini
FOR /F "tokens=3" %%A IN ('REG QUERY "%RootKey%\DirectDraw" /v "EmulationOnly"') DO SET RegValue=%%A 1>nul
SET /a RegValue=1-RegValue 1>nul
@reg add "%RootKey%\Direct3D\Drivers" /v "SoftwareOnly" /t REG_DWORD /d %RegValue% /f 1>nul
IF ERRORLEVEL 1 SET /a RegValue=-1 1>nul
@reg add "%RootKey%\DirectDraw" /v "EmulationOnly" /t REG_DWORD /d %RegValue% /f 1>nul
IF ERRORLEVEL 1 SET /a RegValue=-1 1>nul
echo ************ 设定硬体加速 ************
echo *                                    *
IF %RegValue% == 1 (
echo * Direct3D/DirectDraw 硬体加速已关闭 *
) ELSE IF %RegValue% == 0 (
echo * Direct3D/DirectDraw 硬体加速已开启 *
) ELSE (
echo * Direct3D/DirectDraw 无法写入机码值 *
)
echo *                                    *
echo ******** 2 秒钟后视窗自动关闭 ********
@ping 127.0.0.1 -n 5 -w 2000 1>nul
EXIT
REM 将以上内容存成一批次档后执行 (ex: ControlDX.cmd)

上述新增红字部分是用来修改机码权限
因为有玩家反映会发生存取错误
而我刚好有一台电脑也出现同样问题
查了一下发觉是写入机码权限问题
但可能每个人遇到的状况会不同
所以,我把会写入资料的机码权限调整成管理员皆可写入
ControlDX.cmd 请用滑鼠右键选单中[以系统管理员身分执行]
应该就不会再发生存取错误的状况

执行后会自动判断硬体加速状态,若开启时则关闭,若关闭则开启
不用怀疑,关闭或开启硬体加速本来就是这幺简单。

如果出现 REGINI: Failed to load from file 'regset.ini' (5) 请照以下做法处理,这个状况是因为机码不存在且权限被系统锁住

========== 我是分隔线 ==========
上面的方法出问题的玩家,或是你确认你电脑中跟 DirectX 相关机码权限被锁住
那可以试试以下方法
1. 请先下载 SubInACL,这是微软提供的工具程式,可以用来修改机码的拥有者跟权限
http://www.microsoft.com/en-us/download/details.aspx?id=23510

2. 下载完毕请执行




3. 请把这个程式安装在 C:\Windows\System32 (若是你的系统安装在别的资料匣,请自行对应)
安装在 System32 方便以下的批次档不须指定 SubInACL.exe 程式路径
如果不想安装在 System32,请自行修改以下批次档中有关 SubInACL.exe 程式路径


4. 安装完毕请开启 \Windwos\System32 资料匣检查一下是否有 subinacl.exe 这个档案存在


5. 一样写一个批次档,将以下的内容存到 FixD3D.cmd
REM 将以下内容存成一批次档后执行 (ex: FixD3D.cmd)
@net user administrator /active:yes 1>nul
subinacl.exe /keyreg SOFTWARE\Microsoft\Direct3D /setowner=Administrators
subinacl.exe /keyreg SOFTWARE\Microsoft\Direct3D /grant=Administrators=F
subinacl.exe /keyreg SOFTWARE\Microsoft\Direct3D\Drivers /setowner=Administrators
subinacl.exe /keyreg SOFTWARE\Microsoft\Direct3D\Drivers /grant=Administrators=F
subinacl.exe /keyreg SOFTWARE\Microsoft\DirectDraw /setowner=Administrators
subinacl.exe /keyreg SOFTWARE\Microsoft\DirectDraw /grant=Administrators=F
FOR /F "tokens=3" %%A IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "BuildLabEx"') DO SET BuildLabEx=%%A 1>nul
ECHO %BuildLabEx% | FINDSTR /I "amd64" 1>nul
IF NOT ERRORLEVEL 1 (
SET RootKey=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft
) ELSE (
SET RootKey=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
)
REM 以下的部分是新增或修正机码值,因为有些人会没有以下机码
echo Windows Registry Editor Version 5.00 > Direct3DDrivers.reg
echo. >> Direct3DDrivers.reg
echo [%RootKey%\Direct3D\Drivers] >> Direct3DDrivers.reg
echo "SoftwareOnly"=dword:00000000 >> Direct3DDrivers.reg
echo "EnumReference"=dword:00000000 >> Direct3DDrivers.reg
echo "EnumRamp"=dword:00000000 >> Direct3DDrivers.reg
echo. >> Direct3DDrivers.reg
echo [%RootKey%\Direct3D\Drivers\Direct3D HAL] >> Direct3DDrivers.reg
echo "Base"="hal" >> Direct3DDrivers.reg
echo "Description"="Microsoft Direct3D Hardware acceleration through Direct3D HAL" >> Direct3DDrivers.reg
echo "GUID"=hex:e0,3d,e6,84,aa,46,cf,11,81,6f,00,00,c0,20,15,6e >> Direct3DDrivers.reg
echo. >> Direct3DDrivers.reg
echo [%RootKey%\Direct3D\Drivers\Ramp Emulation] >> Direct3DDrivers.reg
echo "Base"="ramp" >> Direct3DDrivers.reg
echo "Description"="Microsoft Direct3D Mono(Ramp) Software Emulation" >> Direct3DDrivers.reg
echo "GUID"=hex:20,6b,08,f2,9f,25,cf,11,a3,1a,00,aa,00,b9,33,56 >> Direct3DDrivers.reg
echo. >> Direct3DDrivers.reg
echo [%RootKey%\Direct3D\Drivers\RGB Emulation] >> Direct3DDrivers.reg
echo "Base"="rgb" >> Direct3DDrivers.reg
echo "Description"="Microsoft Direct3D RGB Software Emulation" >> Direct3DDrivers.reg
echo "GUID"=hex:60,5c,66,a4,73,26,cf,11,a3,1a,00,aa,00,b9,33,56 >> Direct3DDrivers.reg
regedit /s "%~dp0Direct3DDrivers.reg" >nul
REM 将以上内容存成一批次档后执行

执行完这个 FixD3D.cmd 后,请再次执行 regedit 检查前述三个机码的权限及拥有者,然后重新执行 ControlDX.cmd

会出问题都是权限或是机码不完整的问题,如果这样还无法解决,那就只剩你手动去修改机码这个方法了,我写成批次档来处理也只是自动去修改机码,万一你无法用手动的方式修改以下机码,那幺批次档也不可能帮你修改
开关硬体加速会去修改到的机码如下
x86:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Direct3D\Drivers\SoftwareOnly 这个值
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw\EmulationOnly 这个值
x64:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Direct3D\Drivers\SoftwareOnly 这个值
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\EmulationOnly 这个值

这两个数值为 0 时为开启硬体加速,这两个数值为 1 时关闭硬体加速

如果执行 ControlDX.cmd 出问题,请手动去修改以上两个机码,把数值都设为 0,不需重开机就可以解决你其他游戏需要用到硬体加速而无法玩的问题,然后照上述方法去检查机码权限,如果你连用手动都无法修改,那幺我也无能为力了。

看较旧的 5 则留言

黑云: 06-23 13:49

行动锁不可以在W7使用~~~请用XP系统~或是你可以用2台电脑(XP专门登记+解锁)(上锁~则是任何系统皆可) W7游玩

黑云: 06-23 13:50

双系统也可以~~只是挺麻烦

心灵倒影: 07-22 23:33

大大请问一下,他在关闭状态时执行可是没有变开启耶...我照着步奏操作可是依然显示存取被拒,但第一次执行是有成功关闭,后来却开不起来

newwang (月夜中的暗杀者) #2 2013-01-26 22:35:57
帮补充一下开关 "64位元"为主的os 显卡加速方式

reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Direct3D\Drivers" /v SoftwareOnly /t REG_DWORD /d 0 /f 0>nul 1>nul
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\DirectDraw" /v EmulationOnly /t REG_DWORD /d 0 /f 0>nul 1>nul

以上存档成"开启显卡加速.cmd"





reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Direct3D\Drivers" /v SoftwareOnly /t REG_DWORD /d 1 /f 0>nul 1>nul
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\DirectDraw" /v EmulationOnly /t REG_DWORD /d 1 /f 0>nul 1>nul

以上存档成"关闭显卡加速.cmd"

要开要关点击即可
湿溼的老湿: 06-23 07:51

谢谢大大><你救了我一命

精彩推荐

Wonderful recommendation

更多

关于我们 | 商务合作 | 广告服务 | 法律声明 | 内容导航 | 游戏帮助 | 问题反溃

本站所有软件,来自于互联网或网友上传,版权属原著所有,如有需要请购买正版。如有侵权,敬请来信联系我们,我们立刻删除。

抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活

Copyright 2019-2025 by 蜀ICP备20010799号-2 成都市互联网举报中心