外设天下 - 电脑外设发烧友聚集地

12下一页
我的人缘0

[求助] 数学帝进!!!!!

10 3998
楼主
跳转到指定楼层
发表于 2010-11-3 16:44 只看该作者 倒序浏览 阅读模式
本帖最后由 2222222 于 2010-11-4 14:06 编辑

winxp , windows鼠标速度6/11,IO1.1(400DPI),去加速度

请问640*480分辨率下的CS1.6游戏速度2.5 等于 800*600分辨率下的CS1.6游戏速度多少?怎么算?
0
已赞
微信分享 收藏
回复

使用道具 举报

我的人缘0
2
发表于 2010-11-3 16:58 只看该作者
我掐指一算   应该是  2.13    {:1_067:}

坐等LX数学帝。。。。
回复 支持 反对

使用道具 举报

我的人缘0
3
发表于 2010-11-3 17:02 只看该作者
貌似因该是3.125吧...-   -...
800x600长宽都是640x480的1.25倍...
所以顺着想就是2.5x1.25=3.125
这么想对不对...-   -...
回复 支持 反对

使用道具 举报

我的人缘0
4
发表于 2010-11-3 17:54 只看该作者
你要用点距来算。。分辨率算是没用的。。分辨率是模糊数字。。显示器大小不一样。。分辨率对应的点距也不一样。。DPI(CPI )是固定值。。跟着点距跑的。。
回复 支持 反对

使用道具 举报

我的人缘0
5
发表于 2010-11-3 19:27 只看该作者
测试
2.5
回复 支持 反对

使用道具 举报

我的人缘0
6
发表于 2010-11-3 21:39 只看该作者
这事情凭直觉想想其实挺简单的,DPI不变,分辨率上去了,那就乘以个大于1的数。因为(800 x 600)处以(640 x 480)等于1.25,所以游戏速度也乘以1.25,等于3.125即可。

真要按公式分析,反而是把事情复杂化了。
回复 支持 反对

使用道具 举报

我的人缘0
7
发表于 2010-11-3 21:54 只看该作者
本帖最后由 xmiangui 于 2010-11-3 22:06 编辑

1# 2222222
然后让你看看用数学的方法计算有多么的蛋疼:

CSS的转身公式,CS1.6的没找到,估计是一样的:

[(游戏中的垂直分辨率) x 2.667] / (180度转身所需的鼠标位移英寸) = (所需的DPI)

为了基本达到分辨率改变游戏速度不变,需要先计算一个“有效DPI”,这里脑子很容易转不过来。因为楼主的要求是分辨率不变(鼠标分辨率不可调),所以计算的是一个假想的“有效DPI”,一会儿再换算成实际分辨率和鼠标速度两个值。

因为要求手感不变,所以“180度转身所需的鼠标位移英寸”不变,舍去。2.667这个比值是常数,舍去,上面的公式变成:

(所需DPI,假想的有效DPI) / (垂直分辨率600) = (原DPI,400) / (原垂直分辨率,480)。

是不是有一种脑 残的感觉,就是个小学生都会的等比,所以(假想的有效DPI) = 400 x 1.25 = 500。

再看CSS的鼠标灵敏度(速度)公式:

[(原dpi) x (原鼠标灵敏度)] / (新的dpi) = (新的鼠标灵敏度)

稍微变形一下,这里又是个等比:

(原dpi)/(新dpi) = (原鼠标灵敏度) / (新鼠标灵敏度)

当然这次我不准备再说这个公式脑 残了,因为第二个脑子容易转不过来的地方又到了:

由于之前算出来的500 DPI是个假想的有效DPI,而假象其实还有个前提其实隐含在第一个公式里——那就是第一个公式里根本就没有鼠标灵敏度。也就是说,它隐含了鼠标灵敏度不变这个无耻的假设。(八卦一句,诡辩就是这么来的)

所以400 DPI才是新DPI,而500 DPI反而是“原 DPI”,而“原灵敏度”还是2.5,怎么样,脑子转不过来了吧。

带入第三个公式(变形前的灵敏度公式):

(新的鼠标灵敏度) = 500 x 2.5 / 400 = 3.125

是不是有种自己想抽自己的感觉?
参考文章,如果对自己的英文没信心,我相信会和我一样读了更想抽自己:

http://www.overclock.net/mice/173255-cs-s-mouse-optimization-guide.html
回复 支持 反对

使用道具 举报

我的人缘0
8
发表于 2010-11-3 22:00 只看该作者
测试
本帖最后由 xmiangui 于 2010-11-3 22:25 编辑

用数学方法算还存在很多问题:

CS1.6至今没有人明确公布过鼠标灵敏度公式,只好拿CSS的凑数。

CS1.6太老,调用的系统鼠标指针函数会在计算中启用Windows的平滑指针参数表(俗称为加速度表,其实是分段函数表,而且也不一定是“正”加速度。也就是传说中的系统自带加速度,你去了“提高指针精确度”、给CS启动加上那些参数也没用)。而这个表应当根据分辨率、操作系统DPI(显示属性里的那个,不是你显示器的DPI)、刷新率等参数而改变,但是他根本不会变,会导致不同分辨率CS中的操作系统平滑参数变得很奇怪,自然手感也不一样。

所以即使使用公式算出理论灵敏度,也不可能实现完全一样的手感。
用公式计算是个好方法,但只能做一个大概的估算值。实际情况下,还要根据自己的手感微调,或者干脆适应新的参数。
回复 支持 反对

使用道具 举报

我的人缘1
9
发表于 2010-11-3 23:09 只看该作者
不用算,一样
回复 支持 反对

使用道具 举报

我的人缘0
10
发表于 2010-11-6 14:36 只看该作者
测试
8# xmiangui
哥们真专业,辛苦了
回复 支持 反对

使用道具 举报

12下一页
高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则