欢迎来到 KartTv - 跑跑卡丁车视频论坛

您似乎还没加入我们的论坛社区,因此目前对于您查看论坛的所有帖子讨论内容会有所限制。加入我们的免费论坛社区您将能发表主题,提出问题,与论坛其他成员讨论问题,并且能私下和其他成员沟通,参与民意调查,了解我们论坛的关于跑跑的各种知识,获得我们的独家资料和其他许多特殊功能。注册会员是快速,简单,并且完全免费的,所以,请您马上加入我们的论坛社区吧。

如果您在注册过程中或者帐户登录中有任何问题,请与我们联系。QQ(车队、视频)QQ(网站、合作)
打印

转个帖子,关于键盘延时

这篇文章将会纠正一个一直被人所相信的谬误:修改注册表优化跑跑键盘延时。文章涉及一些开发程序和Windows系统的知识,一般人可能无法理解,如果你只对结果有兴趣,请只看红色字体

下面是时下流行一段关于修改注册表可以加强对车的控制的文段:
+-----------------------------------------
丨跑跑卡丁车键盘参数注册表修改方法

丨1.运行 regedit.exe(在WINDOWS根目录下),或直接用开始菜单里的“运行”功能。
丨2.打开HKEY_CURRENT_USER\ControlPanel\Keyboard
丨3.分别将InitialKeyboardIndicators、KeyboardDelay、KeyboardSpeed的值改为2、0、48
丨(这是韩国流行的调整值,你也可以试试其他的值)
丨PS.KeyboardDelay项最好设0,延迟么,当然是越短越好……
+-----------------------------------------
很多人说,修改后果然车好控制了,但也有些人说好像没什么不一样。
我有句话一直很想和大家分享:如果你觉得这没什么不一样,那么你的感觉是完全正确的,修改这2 0 48对你的跑跑完全没有影响。

我知道要动摇一个深入人心观念不容易,且听我详细说说:

这要从这3个注册表参数是什么说起。

首先说 KeyboardDelay 和 KeyboardSpeed 这两个参数。

请打开注册表修改器,找到HKEY_CURRENT_USER\ControlPanel\Keyboard。看到你当前的参数设置了没有?请记下来。
不要关闭注册表修改器,请打开 开始菜单-控制面板-键盘,拖一下“重复延迟”和“重复率”两个设置,然后按“确定”。
切换回到注册表修改器,按一下F5刷新。

怎么样?KeyboardDelay 和 KeyboardSpeed 都改了吧?

相信一些人已经知道什么回事了。
KeyboardDelay 和 KeyboardSpeed 分别对应控制面板里键盘“重复延迟”和“重复率”两个设置。

如果你知道Windows应用程序的运作机制,你一定知道什么是消息循环。
大部分Windows应用程序,例如记事本、你的浏览器、Word等等,都是消息循环机制开发的典型程序。
在你不动键盘和鼠标时,这些程序处于等候状态(其实还是有一些运作的,但为说明简单,暂且这么说),
它们执行了一句“GetMessage”的指令,并一直等待Windows给它们发消息。
如果你按下键盘,这程序不是马上知道你按下键盘的,按下键盘这个事情最先知道的是Windows系统,
然后Windows就会发送一个消息(OnKeyPress)和键的代码给应用程序,
处于等待的程序获得这个消息后,知道你按下了键盘,并作出响应的处理。

如果你在记事本里按下一个字母键不放,你会看到屏幕上先出现一个字符,过一小段时间开始连续地出字符。
这个是怎么回事呢?这其实是当你按下一个键的时候,Windows先发送一个按键消息给程序,
如果你不放开键,等待一段时间后Windows就发出第二个消息,并根据注册表中KeyboardDelay这个值来决定这延时。
然后Windows根据KeyboardSpeed值确定第3、4、5……个键盘消息的发送延时。

另外一个参数InitialKeyboardIndicators在控制面板上没有选项,这个东西字面上理解是“键盘初始延时”。

总之,这3个参数通过控制Windows给程序发键盘消息的延时来影响大部分程序的键盘输入速度。

然而非常不幸,我们的跑跑并不是消息循环来获得键盘控制的,应该说几乎全部的游戏都不是采用这种方式运作的。

因为跑跑和几乎所有游戏都一样使用DirectInput来控制键盘输入。

游戏会执行一些指令,通过DirectInput指令向Windows请求在内存打开一个键盘缓冲区,用来指示哪些键被按下。
游戏里每一帧(一个处理周期)都会扫描这个缓冲区,看有没有按下一些键并作相应处理,例如检查到“左”方向键按下了就向左拐。

如果你不明白上面的说明也没关系,简单来说:
你按下方向键,车不是先拐一点,过一段时间再连续拐弯,而是一按下去马上连续拐,
这点完全不同于这3个参数所涉及的事情,例如你在记事本中按下一个字母键。

既然不是采用消息机制从键盘输入,修改注册表中的这3个参数自然对你跑跑和其它所有游戏的键盘控制没有任何影响。


有些人说:“不是啊!我修改了之后车的确好控制多了!”
这难道不是心理作用吗?
如果不信,请把这3个数值改的很离谱,例如 10、3、1,重启电脑后生效,
然后你打开跑跑,去空地开一下连喷一下,和平时是没有差别的。

左岸海草
2007-10

[ 本帖最后由 CyphoneL 于 2009-5-9 18:46 编辑 ]
   ส็็็็็็็็็็็็็็็็็็็็็็็็็็ส็็็็็็็็็็็็็็็็็็็็็็็็็็ส็็็็็็็็็็็็็็็็็็็็็็็็็็   <-拷到编辑框里删删看。

TOP

哦·········

TOP

看看
本帖最近评分记录
万年潜水王

TOP

还是这些老套的

TOP

居然是2007年写的·

TOP

TOP

TOP