いくぽんのPC雑記 Vol.32


Easy PowerUP!(VIDEOカード編)




S3チップ編 UpDate 971107

Mystique編 UpDate 971107





 今回は手軽に出来るビデオカードのパワーアップレポートです。




まずご紹介するクロックアップソフトは
MCLKです。
このソフトが有効なビデオカードは以下の通りです。

 <DOCファイルより抜粋>

        Cirrus Logic
                GD-542X - 5420, 5422, 5424, 5426, 5428, 5429
			( tested with GD-5428 VLB )
                GD-543X - 5430 ( GD-5434 NOT supported ), 5436
                        The GD-5434's BIOS resets the MCLK upon every
                        video mode set.
                GD-544X - 5440/M40, 5446
		GD-7543 - (reprogrammable as GD-5428, use "/F")
	
        S3 Incorporated
                S3 86x (864/866/868) with SDAC RAMDAC
                S3 Trio (Trio32, Trio64, Trio64V+)
                        (some video BIOSs reset MCLK upon every mode set.)
		S3 Virge, Virge/VX, Virge/DX
		no plans to support S3-911/924/928 :(

         Trident Microsystems
		Trident 9440/96xx 
	                The Trident MCLK code was "reverse-engineered."  It may
        	        not work on all Trident 9440/96xx boards.

*	 Tseng Labs
*		Tseng Labs ET-6000
*			MCLK's ET-6000 code does not work on all ET-6000 boards.
*			Chances are better with generic ET-6000 boards.
*

ここからは、S3-ViRGEを例に書きます。
それ以外は付属のDOCをご覧下さい。


MCLKの使用方法は簡単で、AUTOEXEC.BATの中に

C:\(MCLKのパス)\ MCLK /0 54 2 2 /1 0

との記述を書き込むだけです。
この場合の意味は S3 Virgeを使用。 DRAM-clock を 50MHzにセット。ページモードを 1-cycle EDOにセット、です。
MCLKへのショートカットを作り、それをスタートアップに置くことによっても同様の効果が有ります。
クロックが変わったかどうかは、MCLK /0(フルスクリーンで実行)と実行する事で解ります。

mclk.exe /0 の後の M, N, Rのパラメーターが動作クロックを決定します。

数値は

  (M+2)
 --------- * 14.318(クリスタルの周波数)
 (N+2)*2^R

1<M<127
1<N<31
0<R<3

で、決定します。

例えば70MHzなら、42  7  0。
80MHzなら、93  15  0になります。
ちなみに90MHzは、42 5 0になります。
流石にここまで来ると、カードによってはゴミが出てきたりしますね。

実験の結果、私の使用しているViRGEの上限は94MHzでした。
しかしこの上限は、搭載メモリーの速度や冷却状況によっても変化します。
設定如何によってはビデオカードを破壊することになりかねませんので、各自の責任に於いて行ってください。


では実際に使用した場合のベンチ結果です。

TEST環境
CPU:P55C-206MHz
M/B:TekramP5T30-B4(430TX)
VIDEO:CanopusPW3DV(S3-ViRGE EDORAM 4MB 40ns)
使用前
  矩    円   Text  Scroll DD 
 15957  8773  7690    71  72 
使用後
  矩    円   Text  Scroll DD 
 22804 12098 10251   105 119 

矩形で42%、円で38%、テキストで33%、スクロールで48%、DirectDrawで65%向上という大幅なスピードアップになりました。
体感では数値の差ほどは感じませんが、描画速度を要求するゲーム等では確かに速度が向上していることを感じることが出来ます。


ちなみにMCLKを使用しなくても、メーカーによっては簡単にクロックアップが出来るのですが、このMCLKはバルク品等メーカーを選ばず更にDOSでもクロックアップが適用されるのが利点です。
MCLKとUniVBEソフトを使用することで、DOSのゲームもSVGAで高速に描画させることが出来るようになります。
このソフトを教えて下さったNiftyの方々に感謝します。







次に紹介するのはMCLKから派生し、Mystiqueユーザーの為に特化された
Mystclkという、クロックアップソフトです。

ここからのレポートはMystiqueさんのレポートを、許可を得て掲載しています。




MYSTCLKの使い方を書きます。

まずMYSTCLKにはオプションが4つあります。

1、 グラフィックエンジンのクロック設定

Syntax : MYSTCLK /1 M N P

M、N、Pという三つのレジスターとPLLを使ってMystiqueはクロックを
設定します。 M、N、Pには次の様な関係が有ります。

グラフィックエンジンのクロック :

(N+1)/(M+1)*(P+1)*14.31818MHz

1<M<31 ( input divider )
1<N<127 ( feedback divider )
P = 0、1、3、7 ( Post Divider )

14.31818MHzというのはPLLのクロックです。

コマンドラインから"MYSTCLK"とうてば現在のM、N、Pの値が見れる筈です。
ではちょっと実践。

MYSTCLK /1 5 82 0

さて、この場合のクロックは何MHzになるでしょうか? 答えは

(82+1)/(5+1)*(0+1)*14.31818=198.09MHz

後は前述の式に数値を当てはめるだけです。 Mystique(初代)は確か
150MHzで動いている筈。 Readmeにも書いてありますが、190MHz程度で
止めておくのが無難です。 もっとも、グラフィックスコントローラに
ヒートシンクやファン等を付けて、冷却可能ならばもっと上がるかも
知れません。

それと知っておいて欲しいのが、ドライバのバージョンが3.70だと、
再起動時にクロックがリセットされてしまいます。 この場合は
ショートカット(きちんとSyntaxを書いて)を"スタートアップ"の
フォルダに入れておくとかすれば起動時に自動的に読みに行きますね。
但し、これはあまりオススメ出来ません。

それと、実行する時は必ずDOS画面をフルスクリーンにして下さい。
でないと実行後に画面が乱れたりします。



2、メモリーアクセスタイミングの設定

Syntax : MYSTCLK /2 a b c

a - CAS Latency ( 0 = 2 MCLK、 1 = 3 MCLK)

b - RAS-to-CAS Delay ( 0 = 2 MCLK、 1 = 3 MCLK)

c - RAS Minimum Active Time ( 0 = 4 MCLK、1 = 5 MCLK、2 = 6 MCLK、
3 = 7 MCLK )

これはグラフィックアクセラレータとVRAM(SGRAM)の間の転送タイミングを
変えるオプションです。 数値を低くする事でタイミングを最適化出来ます。

MYSTCLK /2 0 0 0

これが最速設定です。 但し、気を付けて欲しいのがクロックをしっかり
考えて下さい。 MystiqueのSGRAMは83MHzで動作していますが、グラフィック
エンジンはシステムクロックの2倍で動作しています。 つまりグラフィック
エンジンが133MHzで動いている場合は66MHzのタイミングでメモリーと
アクセスします。

例えば、グラフィックエンジンのクロックを200MHzにします。 ここで
メモリーを最速設定(/2 0 0 0)にした場合、メモリーとは100MHzでアクセス
してしまいます。 こうなるとメモリーは追従出来ません。 画面も出ません。
ですからメモリー設定をいじる場合はグラフィックエンジンのクロックに
気を付けて下さい。

ちなみに、メモリーの質によっては83MHz以上で動く場合も有ります。
私の場合、171MHzのコアでメモリー設定を最速にしても動きました。
この場合はメモリーは85MHzで追従してます。

クロックをこれより上げる場合、"a"の値を"0"から"1"にすれば恐らく
動くと思います。 つまり"/2 1 0 0"ですね。 これでもデフォルトより
速いです(笑)。 Readmeにもいくつか設定例が有りますので、参考に
すると良いと思います。

私の場合はこんな感じでした。

例1)MYSTCLK /1 6 83 0 /2 0 0 0
例2)MYSTCLK /1 6 91 0 /2 1 0 0

あ、忘れてましたが、オプション1のM、N、Pの内、Pは"0"以外には
変えない方が良いそうです。

私はMystiqueからMystique/220に変えました。 理由はSGRAMが83MHzから
100MHzになった事。 RAMDACが220MHzになった。 Foggingをサポート等
有りますが、一番の理由はMYSTCLKがあるからです(笑) 取り敢えず、
現状の私の環境での最速設定時のベンチ結果から。

★ ★ ★ HDBENCH Ver 2.420 ★ ★ ★
使用機種
Processor Pentium(MMX) 200
解像度 1024x768 65536色(16Bit)
Display Matrox Mystique PowerDesk
Memory 64,536Kbyte
OS Windows 95 4.0 (Build: 950)
Date 1997/10/29 17:43


 ALL  浮 整  矩   円   Text Scroll DD Read Write Cache Drive
7532   0 0 34084 3033 30383  287  199    0     0     0 C:10MB

設定は"/1 5 103 0 /2 0 0 0"です。 グラフィックエンジンは
248MHzで動作していますので、メモリーとは124MHzでアクセスしてます。
Mystique/220になってSGRAMの速度が上がったので、多少(というかかなり)
無理が効くようになったのが嬉しいところです。 まさか124MHzで
100MHzのSGRAMが動くとは思いませんでした。

オプション3と4はあまりいじる必要は有りません。 4は私も意味が
解りませんが、3はクロックの倍率設定をいじるものです。

グラフィックエンジンのクロック=A
システムクロック=B
ピクセルクロック=C

三者には以下の関係が有ります。

A/2=B
A/3=C

この"2"や"3"の数値を変えるのがオプション3です。 例えば、
100MHzでグラフィックエンジンが動いてると仮定します。 この場合、
メモリーとは最速で50MHzでアクセスします。 つまり"A/2=B"な
訳です。 ところが、オプション3ではこれを"A=B"にしたり出来ます。

解ると思いますが、これは危険です。 150MHzでグラフィック
エンジンを動かして、"A=B"にしたら… まず壊れるでしょうね(^^;;

という訳でこれはオススメしません。

最後に、MYSTCLKはまだベータ版ですし、正式版が出てもMatroxから
認可されている訳ではありません。 あくまでご自分の責任において
実行して下さい。





レポート転載許可を下さったMystiqueさんに感謝します。




   −注意− 
この記事に関する質問&苦情等は一切受け付けません。
さらに詳しい使用方法などは、各自ドキュメントファイルをご覧下さい。