2000FUN論壇

 

 

搜索
2000FUN論壇 綜合論壇 CS Online [轉]唔洗關垂直同步就可以提高fps
查看: 1429|回覆: 6
go

[轉]唔洗關垂直同步就可以提高fps [複製鏈接]

Rank: 10

UID
1162562 
帖子
2798 
積分
4581 
Good
128  
註冊時間
08-10-17 
在線時間
1695 小時 
1#
發表於 09-11-13 08:15 PM |只看該作者 |倒序瀏覽 |打印
我想各位玩cs的朋友都試過在上一些山坡(例如nuke T home的山坡)時都會上不去或上得很慢,而這些問題的原因是你的fps過低。但是幾乎所有試圖研究CS的FPS的朋友都將不可避免的面對這樣一個名詞——垂直同步,到所有的CS專業論壇去問如何提高FPS,得到的絕大多數回答也基本都是——關閉垂直同步,當大家關閉了垂直同步,得到了較高一FPS後,你知道是為什麼麼?今天,飛揚就和大家一起來探討這個看似簡單的名詞——垂直同步。
(本文與cs關係不是非常緊密,請朋友們選擇閱讀)  
1、要知道什麼是垂直同步,必須要先明白顯示器的工作原理,顯示器上的所有圖像都是一線一線的掃瞄上去的,無論是隔行掃瞄還是逐行掃瞄,顯示器都有兩種同步參數——水平同步和垂直同步。
2、什麼叫水平同步?什麼叫垂直同步?
    垂直和水平是CRT中兩個基本的同步信號,水平同步信號決定了CRT畫出一條橫越屏幕線的時間,垂直同步信號決定了CRT從屏幕頂部畫到底部,再返回原始位置的時間,而恰恰是垂直同步代表著CRT顯示器的刷新率水平。
3、關鍵部分——為什麼是否關閉垂直同步信號會影響我們CS中的FPS數值?
    道理一點都不複雜,首先我們平時運行操作系統一般屏幕刷新率是多少?大概一般都是在85上下吧,那麼顯卡就會每按照85的頻率時間來發送一個垂直同步信號,信號和信號的時間間隔是85的分辨率所寫一屏圖像時間。如果我們選擇等待垂直同步信號(也就是我們平時所說的垂直同步打開),那麼在遊戲中或許強勁的顯卡迅速的繪製完一屏的圖像,但是沒有垂直同步信號的到達,顯卡無法繪製下一屏,只有等85單位的信號到達,才可以繪製。這樣FPS自然要受到操作系統刷新率運行值的制約。而如果我們選擇不等待垂直同步信號(也就是我們平時所說的關閉垂直同步),那麼遊戲中作完一屏畫面,顯卡和顯示器無需等待垂直同步信號就可以開始下一屏圖像的繪製,自然可以完全發揮顯卡的實力。但是不要忘記,正是因為垂直同步的存在,才能使得遊戲進程和顯示器刷新率同步,使得畫面更加平滑和穩定。取消了垂直同步信號,固然可以換來更快的速度,但是在圖像的連續性上勢必打折扣。這也正是很多朋友抱怨關閉垂直後發現畫面不連續的理論原因。

    在Window 2000或XP下,打開垂直同步並使FPS超過60的方法
  以前,對於在Windows 2000或Windows XP上玩CS的人來說,是否開顯卡的垂直同步是個兩難的選擇。不開垂直同步可以得到更高的FPS,但畫面老是抖動,打時間長了眼睛很累;開了垂直同步,FPS就肯定超不過60。我自己為這事苦惱過很長時間,一直沒找到好的解決辦法。後來苦心鑽研了一些資料後才找到問題所在。可能有人已經知道怎麼解決了,但我相信還有很多朋友不知道該怎麼辦,因此把解決辦法公佈,希望能對大家有所幫助。  
  在Window 2000或XP下,開垂直同步後FPS超不過60的原因是:Window 2000或XP在這種情況下會把遊戲中的FPS設定為Windows的缺省值60,再好的配置也沒用。  
  解決這個問題的辦法很多,可以用第三方程序如PowerStrip等,但這種辦法需要外掛程序,可能不安全。最近,我終於找到最根本的解決辦法,就是在直接在註冊表裡把Windows的缺省值改成100(或更高,只要你的顯示器支持就可以)。請千萬注意:在修改註冊表前,一定要確認你的顯示器在不同的分辨率下所支持的最高刷新頻率。比如,我的電腦在1024*768的分辨率下能達到100Hz的刷新頻率,我玩CS也是在這個分辨率下玩,所以,我才敢把Windows的缺省值設為100。另外也請注意,這樣修改完註冊表後,你電腦桌面的分辨率和刷新頻率也會被限定為這個數值。  

修改註冊表的方法如下:
  運行regedit命令進入註冊表修改界面;  
進入[HKEY_LOCAL_MACHINE\system\CurentControlSet\Control\Class],打開"Class"鍵,你將看到一大排的鍵,類似於{4D36E96E-E325-11CE....}  
    如果你選中其中一個鍵你將可以看到一些鍵值,如"Default"、"Class"等,並指明設備的種類,如"Modem", "Keyboards"等,逐個打開這些{4D36E96E-E325-11CE....}鍵,直到看到"Class"的鍵值是"Monitor"。好的,我們已經找到控制顯示器的註冊信息了,接下來就是在這裡面改缺省值了。  
  打開你剛找到的那個鍵,裡面至少應該有1個鍵,叫做"0000",這裡也可能有其他的鍵,如"0001"、"0002"等。如果裡面只有個"0000",那就簡單了,你直接在"0000"裡按下面的方法修改就可以了。如果有多個鍵,你就必須逐個找出來哪個鍵是控制你的顯示器的,方法是逐個鍵地按照下面說的「修改缺省值的操作」進行修改,修改後立即用下面說的「檢查缺省值是否修改」的方法檢查,如果相符就說明這個鍵是控制你顯示器的,否則就不是。  
        修改缺省值的方法:  
  打開"0000"或你找到的其他的鍵,你可以看到裡面有個"MODES"鍵,打開它你將看到一個鍵顯示的是你的顯示器的最大分辨率,"1600,1200",現在假設你要在1024*768的分辨率下達到100Hz的刷新率,那麼操作如下:在"MODES"下增加一個鍵叫做"1024,768",在"1024,768"鍵裡增加一個鍵叫做"Mode1",鍵值設為"100-100,100-100"。修改缺省值得操作完畢。(備註:設為100時必須你的顯示器本身在1024*768的分辨率下能達到100的刷新率,如果你的顯示器在1024*768下只能支持到85,那麼不要把這個值改為100,否則容易引起顯示器故障)  
      「檢查缺省值是否修改」的方法:  
  進入"Display properties -> Setting",看分辨率是否為你設定的值,如果不是那麼說明你修改的那個類似於"0000"的鍵不是現在控制你顯示器的鍵,如果分辨率是你設定的值(如1024*768),那麼再進"Advanced -> Monitor"裡面看顯示器的刷新頻率是不是也是你設定的值,如果是,選中"Hide all unsupported modes"後你的刷新頻率應該只有一個值可以選擇,就是你設定的值(如100Hz),這說明你修改得正確。  

總結:  
  修改後,你進入遊戲後無論遊戲是用Direct3D還是OpenGL,你的FPS都可以超過60了。這個修改方法對Windows 2000和Windows XP都有效。

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

UID
699886 
帖子
5322 
積分
420 
Good
68  
註冊時間
06-7-22 
在線時間
656 小時 

十週年勳章(賀詞)

2#
發表於 09-11-13 08:36 PM |只看該作者
篇文好長喎

UID
1521675 
帖子
43 
積分
-2 
Good
0  
註冊時間
09-11-3 
在線時間
7 小時 
3#
發表於 09-11-13 09:05 PM |只看該作者
唔明丫 我隻eye死左

Rank: 2Rank: 2

UID
1256575 
帖子
54 
積分
52 
Good
0  
註冊時間
09-4-15 
在線時間
38 小時 
4#
發表於 09-11-13 09:33 PM |只看該作者
在"MODES"下增加一個鍵叫做"1024,768",在"1024,768"鍵裡增加一個鍵叫做"Mode1",鍵值設為"100-100,100-100"。修改缺省值得操作完畢。(備註:設為100時必須你的顯示器本身在1024*768的分辨率下能達到100的刷新率,如果你的顯示器在1024*768下只能支持到85,那麼不要把這個值改為100,否則容易引起顯示器故障
唔多明...同埋我部野用緊1360x768

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

UID
1199169 
帖子
1378 
積分
5114 
Good
10  
註冊時間
09-1-4 
在線時間
922 小時 

笑傲無雙

5#
發表於 09-11-14 09:55 AM |只看該作者
我都廢事睇喇-.-

Rank: 10

UID
1162562 
帖子
2798 
積分
4581 
Good
128  
註冊時間
08-10-17 
在線時間
1695 小時 
6#
發表於 09-11-14 10:49 AM |只看該作者
原帖由 高達EXIA 於 09-11-13 09:33 PM 發表
在"MODES"下增加一個鍵叫做"1024,768",在"1024,768"鍵裡增加一個鍵叫做"Mode1",鍵值設為"100-100,100-100"。修改缺省值得操作完畢。(備註:設為100時必須你的顯示器本身在1024*768的分辨率下能達到100的刷新率 ...

緊你咪將1024,768變為1360,768

UID
1532763 
帖子
9 
積分
-6 
Good
0  
註冊時間
09-11-14 
在線時間
1 小時 
7#
發表於 09-11-14 01:15 PM |只看該作者
原帖由 kwokut 於 09-11-14 10:49 AM 發表
                                                                                                     
緊你咪將1024,768變為1360,768

佢可能係                :smilie_:D4:              :smilie_:D4:
‹ 上一主題|下一主題

聯絡我們|Archiver| 2000FUN論壇

SERVER: 2 GMT+8, 26-4-13 08:50 PM , Processed in 0.165818 second(s), 10 queries , Gzip On.

Sponsor:工作間 , 網頁寄存

Powered by Discuz! X1.5.1

© 2001-2010 Comsenz Inc.