今日の必ずトクする一言
-- TODAY'S REMARK --

Visitors since Aug,1995.(digits.com.)  ReadMe! JAPAN

●March 2002

□Mar. 30:音楽CD-R焼き最適速度のナゾ
□Mar. 23:コンタクトZの用途は万能か
□Mar. 16:コンタクトZは接点抵抗ゼロの夢をみるか
□Mar. 9:WinNT族での風水変造を考える・実践編
□Mar. 2:WinNT族での風水変造を考える・序章


Version March 2002

Mar. 16
 ●音楽CD-R焼き最適速度のナゾ(CDのジッタ総集編)

------------------------2012年 4月 補遺-------------------------------------

はじめにジッタとは何か。

この項は非常に多く読まれているようだが、Webmasterはある程度知識のある方を対象にあえて細かい説明を省いてきて、時々お叱りをうける。そこで、ジッタとはなにか、ジッタの分布がなぜ大事なのか、ということをまえがきとして補うこととした。

ジッタとはクロックなどの矩形波(四角い波)の立ち上がり、あるいは立ち上下がりの時間のズレ、ゆらぎを表している。今までジッタの評価は、平均的にどの位のズレがあるのかしか評価されて来なかった。またジッタにより発生するエラーに注目されていた。しかしtomoya.comとしてはジッタの平均値や絶対量でなくその経時的な出方がサーボや電源のゆらぎとなって音質に効いてくるということを指摘したものである。

ジッタの分布がどうして問題になるのか。

クロックを例えば、兵隊さんの行進に例えてみる。音楽にあげて足を上げたり下げたりするが、人間だから足が地面に着くタイミングにはズレがある。仮に右足に注目して、これが1秒毎に地面に着くとすれば行進のクロックは1秒ということになる。その兵隊さんがメトロノームの音にあわせて行進するとする。 まずメトロノームを1秒に一回チンと鳴ると設定するが、兵隊さんは音に合わせるので、右足が必ず毎回0.1秒遅れて着地すれば、ジッタは平均0.1秒ということになる。すべての歩みが同一の遅延なら、実は遅延が無いのと同じで無害だ。

次にメトロノームを2拍子とする。チン、タン、チン、タンである、仮にその兵隊さんがチンにあわせようとするが、チンの時だけ0.2秒おくれ、タンでは遅れないとする。そうするとジッタは0.2秒、0秒、0.2秒、0秒となり兵隊さんの体は2秒に一回変化を見せる。ジッタの平均値はやはり0.1秒だが、先の兵隊さんとはリズムがちがう。遠くからその兵隊さんの動きを記録すると1秒に一回=1Hz変化する体の動きと、2秒に一回=0.5Hz変化する体の動きがが混ざって見えることになる。

次にメトロノームを3拍子とする。チン、タン、タン、チン、タン、タンである、仮にその兵隊さんがチンにあわせようとするが、チンの時だけ0.3秒おくれ、タンでは遅れないとする。そうするとジッタは0.3秒、0秒、0秒、0.3秒、0秒、0秒、となり兵隊さんの体は3秒に一回変化を見せるが、ジッタの平均値はやはり0.1秒だが、先の兵隊さんとはやはりリズムちがう。遠くからその兵隊さんの動きを記録する1秒に一回=1Hz変化する体の動きと、3秒に一回=0.33Hz変化する体の動きがが混ざることになる。

このように、最初の兵隊は殆ど1秒から外れた動きが無いが、二番目、三番目の兵隊さんには0.5Hz、0.33Hzという別の波がのってくることになる。通常クロックは非常に高い周波数だが、ジッタの種類や分布によって低い周波数成分が乗ってくることになる。それがちょうど可聴周波数の範囲となると、電源や負荷回路を経て耳に入ってくる。その中には目立ちやすいものやそうでないもの、除去しやすいものとし難いものがある。

従ってジッタの絶対量だけでなく、その経時的な出方が問題なのだ。残念ながら我々が持っている技術では、電源やサーボ系などに入り込んだ余計な信号をとる方法が乏しい。電源にコンデンサー入れるとその種類によって色が付いてしまうし、サーボ系で周波数応答を下げれば、細かい変動に追従しなくなる。

CDは強力なサーボによって外乱の振動があっても再生を保つことができるが、サーボアンプは電源の外来に弱く電力を消費するモーターや電磁石が電源を揺すって影響が出る。その電源変動がコンパレーターのスレッショルドを揺らすとさらに新たなジッタが発生する。これに対して高級機種では昔ながらの運動系や筐体を重くする方法が取られるがコストを喰う。限られたコストのなかで効率的に補強しダンプして妥協を測るしか無いのである。

CD-Rで都合が悪いのは、機械固有のジッタの出方が固定したピットとして焼きこまれれることだ。従ってジッタを含んだCD-Rを再生すると、ジッタが再生機でも再現されるのでタチが悪い。従ってCD-Rを焼き込む機械のほうにより注意が必要である。また焼き込むスピードによって可聴周波数域に入る周波数成分が変化するので注意が必要なのだ。

さらに話を複雑にするのは、ジッタが多い少ないが、必ずしも心地よい悪いとは比例しないことだ。一流の音楽家であればわざとテンポをずらしたり、和音を分散させる。基本的に非常に周波数が低いものは耳につきやすい(ゴロ、ランブル)が、周波数が高いものは音に輝きや広がりが出ることもある。

金管楽器、例えばトランペットでは唇の振動にはゆらぎ(ジッタ)があるが、それを効果的に使うことで音に輝きや広がりが出る。簡単なFM音源であっても、周波数やフィルターに別の周波数で変調、例えばホワイトノイズをかけることによって、人工的な音から真実味のある音質に変化する。つまり、人間はジッタを必ずしも悪いものとは捉えなないことがあるので、評価が難しいのである。

電気音響ではゆらぎや歪を入れて音に彩りを添えることがあるが、耳につきだすと我慢ができないこともある。無いに越したことが無いのがジッタだが、その評価は難しい。ジッタの時間的な分布を周波数領域で示したのはネットでも最初だと思っているが、この方法だけではまだ見えてこない部分もたくさんあるので、それをどうやって数量化、計量化するか思案しているところである。

------------------------------------------------------------

以前、

  ●CD-Rのジッタとメーカーの言い分のナゾ

でのジッタとエラー、ノイズの関係についてのトピックがわかりにくいという意見をいただいた。そこで今回はジッタがどこからくるのか、それがどのような周波数領域に影響するのかを考えてみたい。

この図はCDを上から見た場合のジッタの出方を示している。ジッタは絶対値よりその出現パターンが問題であることを説明するための図である。読み方としてはピットが出現すべき正しいタイミングより進んでいるときに+(円より外側)、遅れている時に−側(円より内側)に円が歪むように表示している。

CDの偏心の影響

CDの中心がずれている場合のイメージである。CDプレーヤーには三つのサーボ系がある。トラッキング(半径方向)、フォーカス(焦点)そして線速度(円周方向)のサーボである。これらの3つのサーボは密接に絡んでいて、サーボによる補正が必要な状態では必ずジッタが発生している。そして偏心したCDでは、一回転する度に(進み、遅れが)1周期する緩やかなジッタ変動が出ることになる。

CDが早く回転すると、ジッタ変動は回転数に応じて早くなる。等倍速だと数十HZ、十倍速だと数百Hzのジッタ変動が発生し、それに対するサーボ電流は電源系を経て再生系の同じ周波数領域に影響を与えることになる。偏心に関しては等倍速でCD-Rを焼くのが良いことになる。

コギングの影響

CDを回転させるモーターはブラシレスの直流モーターなので、スロットという磁極の境目がある。従ってモーターは滑らかに回転せずカクカク回ることになる。これがコギングで、1回転に数回ジッタ変動が発生することになる。もちろん、コギングだけでは無くてベアリングや軸受けのガタも回転数の整数倍に不規則な変調が加わった振動を発生する。そこで

CDジッタの起動と外乱サウンド(RealAudio 56kbps 99kB)

を聞いて欲しい。これはFE信号の可聴周波数域を記録している。起動時ピュルピュルとサーボの音が入るが、しばらくするして安定するとPLLの音がサーと入ってくる。回転に同期した様々な付帯音が聞こえるだろう。そして外乱に対してサーボは同期を失いながらも必死に収束をはかる様子が分かる。強大音で針が飛ぶような状態ではまさにこのようなことが起きている。

この手のジッタ変動は偏心の数倍、すなわち等倍速だと数百HZ、十倍速だと数KHzのノイズを電源系に発生することになり、ちょうど人間の感覚が一番敏感なボーカルの周波数に入ってくる。CDを早く回転させると、コギングはCDのイナーシャ(慣性)でうち消されて目立たなくなるので、コギングに関してはある程度CD-Rを早く回した方が有利である。

ピット焼きムラの影響

これはピット1個1個の形状のムラによるジッタであり、その変動は数KHzから数MHzの領域ときわめて高いところにある。これはプレスで作る音楽CDよりレーザーで焼き込むCD-Rの方が遙かに大きい。メーカーはこの規格に定められたこの種のジッタを重要視していたが、メカニカルな要因による周波数の低いジッタ変動については最近まで重視していなかった。

この手の音は、上記の再生音では”サー”とか”キーン”とか”ヒュルヒュル”と聞こえる音である。しかしこのジッタ変動の電源系を介しての再生音に対する影響は、メカニカル要因による遅いジッタ変動よりはるかに小さいとWebmasterは考えている。それは周波数が高くランダムなホワイトノイズに近いので、電源系のデカップリングフィルターによって除去しやすいからである。

しかしこのジッタ変動はデータをキチンと読む能力に大きく影響する。これが増えるとエラーレイトも増加する。しかしC1C2エラーは殆どが訂正されて、なかなか補完(CU)には到らない。もちろん円周方向のキズは、わずか2,3ミリでもフレーム自体がはずれて音が飛ぶ。ことデジタルデータのエラーについてはオールオアナッシングなのである。

このジッタ変動はCD-Rの焼き込み速度が上がるほど大きくなる。レーザー出力とピットが焼けて冷える時間に限りがあるので、焼き込み速度が高くなるほどピットの形状がぼける。従ってピットのムラに関しては焼き込み速度が遅いほど有利になる。

このように、ピットの焼きムラに起因する高い周波数のジッタ変動は復調のエラーレイトに関係するが可聴周波数域のノイズにはあまり関係しない。一方メカニカルな要因による低い周波数のジッタ変動はエラーレイトをさほど上げないが可聴周波数域にノイズとして現れる可能性がある、という事である。

CD-Rの高音質焼き込みモードとは

一部のドライブでは音楽用にCD-Rを上手に焼くモードが用意されているが、そのキモは焼き込み速度である。遅く回すとコギングによるジッタ変動が大きくなる。しかし早く回すとピット形状のムラが大きくなる。その間をとって4倍から8倍あたりが最もジッタの絶対値が小さくなるわけである。

しかしジッタ変動は広い周波数成分を持つので、特定の周波数領域のピークに敏感なリスナーがメーカーの言う至適速度に異論をもってもおかしくないとwebmasterは考える。標準速ではピット形状は良好で偏心の影響も小さいが、コギングによる不規則なジッタ変動がパラパラでる。しかしジッタ変動に起因するサーボ電流は可聴周波数の低い部分に留まるので、音質への影響が小さい可能性がある。

なぜ硬いスタビライザーと柔らかいスタビライザーがあるのか

CDの開発メーカーである$ONYの高級CDプレーヤーには真鍮製の重いスタビライザーと、人工大理石製の柔らかいスタビライザーの2種類が用意されている。そもそも回転ムラと無縁のはずのCDプレーヤーになぜ2種類のスタビライザーがあるのだろうか。それがそもそもwebmasterがCDのジッタに興味を持った理由である。

しかしその答えは、何度も登場したこのデータに含まれている。まず音楽CDにアルミ製のスタビライザーを乗せると1KHz以下の低い周波数のジッタが減るが、それ以上の周波数にはあまり効果が無い。

一方、CDを2枚重ねをするスタビライザーXの場合、1KHz以下の効果はアルミ製スタビライザーより劣るが、1KHz以上のピーク成分が抑えられている。

つまりアルミは慣性を稼ぐのに効果があるが、CDの振動を吸収する能力が低い。一方CD2枚重ねの慣性は低いが、CDの振動を吸収する能力が高い。従って$ONYが真鍮と大理石と2種類のスタビライザーを用意する事にも十分な理由があるようだ。

また音楽CDとCD-Rの差も興味深い。CDとCD-Rのジッタの差は1KHz以下では比較的小さい。これは偏心による周波数の低いジッタ変動はCD-Rを焼き込む時にサーボが追従するのでさほど問題が無いからである。

しかしCD-Rでは数KHzのジッタ変動が音楽CDより明らかに大きい。これはコギングの影響と考えられるが、この周波数領域ではサーボの応答周波数の上限に近いために追従しきれず、ジッタ変動がそのままCD-R上に物理的なビット位置のムラとして焼き込まれると考えられる。

この領域のジッタ変動はプレーヤーで読みとりエラーにはならないものの、サーボ電流が電源系をしっかり揺すって、CD-Rを焼いたドライブのビット変動のクセがプレーヤーでも再現されることになる。

さらに4KHzを越えるジッタ変動はピットの形状のムラによるものが主になる。ここで解析しているTE(Tracking Error)信号に半径方向だけでなく円周方向のジッタ変動が乗る理由は何度も解説している。

TEの2個のセンサーはピットを(内外に)挟んでその境界を拾うように配置されている(ピット内外の縁を検知する)。一個はピットの進行側寄りに、もう一個はその反対側寄りというように、前後にズレて配置されている(ピットの始まりと終わりを検知している)。

この配置はレーザービーム(の内外のズレを補正するだけでなく)が高速サーチ中にピット列をどちらの方向に何列パスしたかを知るための工夫である。従って2個のセンサーの差信号であるTE信号(アナログ)にはピットの時間微分成分(ピットの縁の情報)が大量に混入する。(TE信号を時間積分=ハイカットすることでピット位置ずれの出現パターンと頻度およびその聴感域での変動が観察される)

昔の電蓄のレコードプレーヤーを覚えているだろうか。プレーヤーはバネで浮かされてブラブラ揺れていた。これはスピーカーの振動がピックアップに戻ってハウリングを起こすのを避けるためであった。ピックアップと回転モーター間のバネはこれより堅くモーターの振動(ゴロ)を拾っていたが、プレヤー全体が浮いているのでとにかくハウリングは避けられたのである。

一見完璧なデジタル機器に見えるCDプレーヤーも実はブラブラのレコードプレーヤーと大差無いのである。実際に外乱によるサーボ系の乱れはまるでアナログプレーヤーを叩いたときと同じである。CDの回転に起因するジッタ変動に対して、応答周波数が数KHzに及ぶ2種類のサーボがピットを逃さない用に強力に働くが、そのサーボの消費するパルス性のノイズが電源系を経てアナログ再生系に大きな影響を及ぼすのである。

その影響を減らす方法についても本ページで過去に紹介している。通常ピックアップはプレーヤーのシャーシーからゴムで浮かされているが、これをスポンジでダンプしてやるとジッタを減らす効果がある。あるいは、ゴムを固定してしまうことも考えられる。

こうすると振動で針?が飛びやすくなるが、困る場合はマスの大きなプレーヤー全体をインシュレーターで浮かせば良いのである。つまり、通常のプレーヤーではピックアップユニットだけがバネ上になり、振動に弱い。ピックアップをプレーヤー自体に強く結合すると、プレーヤー自体がバネ上になる。またプレーヤーを10度ないし20度傾けることも高い効果があるのは、以前

山本式ジッタ低減術を体験する(RealAudio 56kbps 81kb)

で紹介した通りだ。途中でプレーヤーを傾けるとゴロゴロ音が消失するのが解るだろうか。これはスピンドル駆動系にサイドスラストが発生することによって回転の付帯音が減るためである。

CDプレヤーにもはや神話は存在しない。少なくともメカ系のジッタ変動に関する要因はこのわずか2枚の図に集約されているのである。

最初に戻る


Mar. 16
 ●コンタクトZの用途は万能か

コンタクトZについては、さまざまな用途で有効であったとのレスポンスをいただいているので、少しまとめてみることにする。

電池接点

Webmasterが試した範囲では、懐中電灯、ひげ剃り、灯油ポンプ、テレビやビデオのリモコンなど効果があり、どれもコンタクトZを電池接点に塗りっぱなしでセットするだけである。面白いモノに目覚まし時計がある。ブザーやベルは電気を消費するらしく、鳴りが不安定なものがコンタクトZで一発で安定した。これで明日の朝も安心である

やはりステンレス接点のものは燐青銅に比べると不動態の抵抗が大きいようで、電池が新しくても接点抵抗が不安定になる。接点は磨いてもすぐ酸化してしまうが、コンタクトZの効果は長く持続する。

オーディオ接点

さて神話の里オーディオだが、コンタクトZを試す価値は充分ある。効果が高いのはヘッドホンステレオに使われているプラグ類である。少しコナが残る程度でプラグを抜き差ししてなじませ、その後は布でプラグのコナをふき取りながら黒光するまで磨き上げると良い。

ピンジャック(RCA)の場合、外側の接点はコンタクトZで全体をこすり上げたあとに布で磨き込む。中心のプラグも当初コナ付きのまま抜き差しした後にオスだけを磨き上げる。

Webmasterのモトには音の深みが増した、またビデオ画像も奥行きが出たというレスポンスが寄せられている。Webmasterはピュアオーディオという概念には悲観的な見方しかできないので良く解らないが、少なくともガリ付きが取れることは確かだ。

デジカメ接点

これは試す価値がある。現在の電池の負荷としてもっとも大きい用途ではなかろうか。高解像度カメラには撮影前後に10ワットも喰うものがある。この手のモノは電圧低下でカットオフされてしまうので、コンタクトZによる電圧のゲインはわずかであっても効くようである。あと電脳一眼レフのレンズ接点不良にも効く。

携帯電話の接点

充電器に置いてもうまく充電ランプがつかない不具合は、コンタクトZ処理であっけなく解決する。また端末本体と電池パックの間の接点が不安定で勝手に涅槃になる携帯端末があったら、接点をコンタクトZ処理することをお勧めする。大事な会話で必ず電池が切れる経験則からすると、わずかな接点抵抗の差で最後のメッセージを届けることができるかも知れない。

ノートパソコン

Webmasterは古いTP730を使うことがあるが、LiH電池の接点群を処理したところ、電池残メーターが98%からいきなり100%に上がった。どうやらメーターは電圧を見ているようである。コンタクトZ処理で、電池が切れる寸前にファイルを保存できるかも知れない。大事な操作時に必ず電池が切れる経験則からすると、神社のお守り程度の御利益はある。

デスクトップパソコン

お便りによると、AGPポートにコンタクトZを塗布したところ落ちなくなったというものがあった。AGPの接点間に付いたコナがどうなるか若干気になるが、布で吹き上げておけば大丈夫のようである(保証はしないが)。あとはオーディオのプラグ類のガリ付きは簡単に解決する。調子の悪いUSB端子にも試す価値がある。

自動車の接点類

最近の自動車のエンジン、オートマ、補器類は電子制御ばやりである。しかし、電脳に依存した車が10年後ちゃんと走っているだろうか。以前の、

  ●すぐ壊れる電脳一眼レフのナゾ・その2(露見編)
  ●すぐ壊れる電脳一眼レフのナゾ

で感じた事と同じことが車でも起こるであろう。数年も経てば多数の接点不良が多発し、それに学習機能が絡んで、ECUの診断機能が幻惑されるような再現性の無い不可解な故障が多発するとWebmasterは予想している。ランプやモーターのように電流が流れない電脳接点は酸化にとても弱いのである。今後はなるべく電脳のお節介機能が少ない車を選ぶ必要があるだろう。

お便りによると、コンタクトZでECUはじめ多くのセンサー類の接点を処理したところ、不具合が解消したというものがあった。今後は電脳不安定車のダッシュボードにはHB鉛筆を常置することが必要になるかも知れない。

特殊な接点類

テレビのリモコンなどは、金メッキ接点に導電性ゴムの組み合わせが多い。古くなるとゴムの導電性が落ちてきて不具合が発生する。この場合は接点とゴムの両方にコンタクトZ処理をすると良い。またガリが発生するボリューム類では、摺動する接点を処理すると直ることがある。また接点が擦り切れたボリュームの炭素皮膜の補修にも使えるが、この場合は抵抗値は神のみぞ知るである。

というわけで、まだコンタクトZをお試しになっておられない方は実に残念としか言いようが無い。WebmasterはコンタクトZによって日本の接点リソースの1ppmをコンスタントに救済できると確信している。

最初に戻る


Mar. 16
 ●コンタクトZは接点抵抗ゼロの夢をみるか

各方面で特殊接点復活剤コンタクトZは好評のようで、Webmasterのもとには喜びのレスポンスが数多く寄せられている。いずれ、”こんな用途にコンタクトZが効いた”特集も考えたい。

本ラボとしても、接点抵抗の削減を地球リソース節約を実現する風水工学的手法の一つとして位置づけて力を入れている。しかし接触抵抗はバラ付きが大きく測定も難しい。接点の材質や面積、圧力、表面の加工や酸化の程度によってめまぐるしく変化するので、以下のデータはあくまでも目安であることを予め断っておく。

今回は単三型とガム型のニッケル水素電池の充電器、そしてデジカメ2機種を使って接点抵抗を算出してみた。充電器では約300mAの定電流充電モードで始まるので、接点間の電圧から接点抵抗を簡単に算出できる。ただしこの場合は直流大電流に対する接点抵抗である。

というのは、厳密には接点の金属とその酸化物では電気的性質が異なるので、境界面は半導体を形成している可能性がある。従って境界面では整流作用や非直線性が発生するので、信号が小さなオーディオやビデオでは歪みが発生することもある。

コンタクトZ自体の電気抵抗はどれくらいか

手元のダイア鉛筆#9800HBの芯の端から端までの電気抵抗は12オームだった。小学生の時に鉛筆の抵抗をはかった記憶があるが、その記憶よりはかなり小さな値である。整流子を持ったモーターはどれもカーボンブラシを使っているから、もし黒鉛の抵抗が大きかったらモーターが成立しない。ミクロの領域で接点の接触面の凹みを充填するコンタクトZの抵抗はかなり小さと考えて良い。

普通の電池器具の接点抵抗はどれくらいか

ピカピカの接点に新品の電池を入れた場合、接点抵抗はおおむね20ミリオームである。しかし最近はアルカリ電池の腐食性に対する配慮から、ステンレス製の接点が使われていることが多い。ステンレスが防蝕性を持つのは常に表面に酸化物の不動態が存在するからだが、これは接点としては困った性質である。燐青銅などに比べるとステンレスは必ずしも接点の材料として理想的でないのである。

使い古したデジカメに手垢の付いた電池を入れた場合、接点抵抗は50ミリオームにも達する。例えば最近の高解像度デジカメはアルカリ電池4本で撮影時に1アンペア以上の電流を消費する。この場合は接点数が8個あるから、接点抵抗は400ミリオームになり、0.4Vボルト以上の電圧降下を起こすことになる。これだけの電圧降下があると早期にシャットダウンされてしまう。

コンタクトZの最適な使い方は?

条件の悪い接点と電池にコンタクトZをまんべんなく擦って少々コナが乗った状態でセットした場合の接点抵抗は15ミリオーム前後という所だ。接点抵抗としては今一つだが、この状態での接点抵抗は長期間安定している。プラグでは受け側にある程度コンタクトZを供給するためには、初回はまだコナが乗った状態で抜き差しすることになる。通常の電池機器であれば、この程度の処置で充分だろう。

しかし接点抵抗の最適なポイントはこの状態では無い。接点をコンタクトZのコナが乗った状態でティッシュか布で磨き込むと、黒みを帯びた金属光沢になる。相当強く拭き取っても微細な凹凸にかなりのコンタクトZが残る物である。接点抵抗は接点にもよるが約5ミリオームまで追い込むことができる。消費電力の大きい機器やデリケートな機器ではこの状態の処置をお勧めしたい。

もちろん、接点を目の細かい紙ヤスリで研磨して十分に脱脂した直後は、接点抵抗はコンタクトZより小さい5ミリオーム弱に達するが、その後早期に酸化が始まり理想的な状況は長くは持続しない。その点、コンタクトZはピーク性能よりは長期間安定した接点のなじみに貢献する。そして5ミリオーム以下の接点抵抗にはどんな細工をやってもなかなか到達できない。このあたりが接点の限界なのだろう。

今回の結論だが、コンタクトZで処理すると完璧な処理を施した場合にはわずかに及ばないが、5ミリオーム程度の接点抵抗を長く安定して維持できるということである。特に長期間に亘って良好な接点のなじみが得られることが最大のメリットであろう。またコンタクトZは乾式なので、湿式の接点復活剤のようにホコリを呼び込むことも無いし、樹脂を痛める可能性もゼロである。

それにしても、最近のデジカメは電池を食い過ぎである。手元のM社の520万画素のデジカメは最高解像度の標準画質だと4枚でシャットダウンになった。しばしアルカリ電池を休ませてコンタクトZ処理を施してあと3枚で完全にアウトになった。

スペックではNiH電池で200枚撮れるとあるがムリである。構図に凝るならオプションの外部電源パックが必要だ。自動焦点がものすごくヘタなので手動であわせようにも液晶ファインダーではどうにもならない。どんなに解像度が高くても電池切れが心配で自動焦点がダメでは使いものにならない。やはり目下の所、最新電脳機器の最大の制限要因は電池のようである。これを風水工学では、

画素数過ぎたるは、なほ電池及ばざるが如し

と言っている。

最初に戻る


Mar. 9
 ●WinNT族での風水変造を考える・実践編

現在WinNT族の中心を占めるのはWin2kだろう。なに、WinXPじゃないかって?まだ評価が定まっていないWinXPを大事な業務のマシンに入れるとしたらSEとしては素人である。この手のものは試験用マシンで評価し、SPが出たころにボチボチ業務に投入するのが常識である。

Win9Xより安定性が優れるWin2kだが、そのメリットは負荷が重くなったときにも多くのタスク(スレッド)がある程度平等にリソースを貰える点にある。Win9Xでは16bitコードが走っている間はOSのスケジューリングが保証されないし、乏しいシステムリソースが尽きるとシステム全体まで不安定になってしまう。

一方、Win2kではシステムのコードが肥大しているため、ディスクから読まれたコードがメモリー空間に読み込まれ適宜細切れにスワップされるトラフィックを整理し、ボトルネックを生じないようにすることが重要だ。つまり、不要な処理を省いて目的のアプリに最大のリソースを提供するのが風水変造の考え方である。

というわけで、以前からリクエストが絶えないWin2kの風水変造だが、これも結局

 ●驚異のレスポンス”山本式Win98風水変造”のナゾ
 ●山本式風水変造version 2001(Win-Meフォローアップ編)

の焼き直しに過ぎない。すでにNT族に風水変造を導入しているユーザーも多いことと思う。Webmasterの手元にマッサラなwin2kマシン(画面の解像度1024x768x16k色)がやって来たと仮定しよう。レジストリーは直接いじらないが、すべてadminの権限で行う必要がある。殆どがWinXPでも適用可能だと思うが、まだ試していない。

GUI窓枠の軽量化

1.画面のプロパティ・デザインですべてのフォントをterminal(サイズ10)にする。アクティブタイトルバー、非アクティブタイトルバーの色、色2をwindowsのパレットから選んだ同じ色にしてグラデーションを廃する。老眼の方はsystemフォントがお勧めである。これらのビットマップフォントではベクトル処理が不要なので、GUIの展開が早くなる。これらは窓枠にしか関係しないので、アプリケーションでは今までどおり自由にTTフォントを使える。

2.画面のプロパティ・効果のチェックをすべてはずす。

3.ツールバー・右クリック・ツールバー、クイック起動のチェックをはずす。これは好みによるだろうが、一つのアプリの起動方法が何通りもある必要は無く、必要なアイコンはデスクトップかタスクバーのどちらかにあれば良いと考える。

エクスプローラーの軽量化

1.表示・ツールバー・ユーザー設定でボタン名を表示しない。表示は詳細。アドレスバーをツールバーの右に移動して表示域をかせぐ。

2.ツール・フォルダーオプション・全般で従来のWindowsデスクトップ、フォルダを使う。

3.ツール・フォルダーオプション・表示でチェックするのは”デスクトップにマイドキュメントを表示する。”だけ。当然”すべてのファイルとフォルダを表示する”を選ぶ。適用をクリックした後に、”現在のフォルダ設定を使用”、OKで閉じる。

フォントキャッシュの生殺し

NT4.0ではレジストリにフォントキャッシュのキーがあり、初期サイズ、最大サイズ、増加量を指定できたが、win2kでは消えていて無効になっている。どうやらWin2kでのフォント制御はHALを前提にした汎用クライアントマシンの考え方からWin9X族での使われ方を意識した方式に変わったようだ。

そこで\WINNT\system32にあるfntcache.datのプロパティーを読み取り専用に変更する。これでフォントキャッシュの破壊による字化けも防げるし、起動や終了の処理も減る。なおNT4.0でこれを行うとエラーになる。

スワップサイズの固定

Win族ではスワップファイルのサイズは可変としてディスクスペースを節約しているが、本当に有効なのだろうか。一般に処理が重くレスポンスが低下している場合には、使用可能な実メモリーが払底してページフォールトが発生していることが多い。OSにスワップファイルの拡大とスワップ処理を同時にやらせるのは負担が重い。また下手にスワップサイズが変化するとフラグメントも発生する。

この際スワップは固定してしまおう。これで頻繁に使われるDLL類を仮想メモリー空間(実メモリー+スワップファイル)の決まったページ(セクター)に落ち着かせ、OSの負担を減らしてやろうというのである。UNIX族ではスワップは実メモリーの3倍程度に設定するが、Win2kでは全メモリー使用量(タスクマネージャーでのコミットチャージ)が500MBを超えることは稀だし、そもそもNT族のメモリー管理能力自体が500MBを超えると怪しくなってくる。

そこで実メモリー+スワップで500MB程度を確保してみよう。安物パソコンにも20GB以上のHDDがついてくる時代なので、ディスク容量を圧迫することはなかろう。手順としては

1.管理ツールでデフラグをかけてスワップファイルのスペースを確保しておく。Webmasterはオーバーヘッドを避けるために他のドライブが空いていてもルートにスワップエリアを確保することにしている。

2.マイコンピューター・右クリック・プロパティー・詳細・パフォーマンスオプション・仮想メモリ・変更でスワップを置くドライブを選び、初期サイズと最大サイズに(500MBマイナス実メモリー量)を入力し設定を押す。その後再起動。

これでWin2kの起動もかなり早くなる。これはWinNT時代から一般に行われている方法だが、データセットの大きなWin2kではNT4.0よりも効くようである。ところでスワップサイズの固定はWin9Xでも有効である。特に実メモリーの少ないマシンではかなり効果があるので試してほしい。

それならディスクキャッシュサイズも固定したらどうか、という意見もあるだろう。通常ディスクキャッシュを15MB以上確保しても効率が向上しないことが多いが、起動時にDLLファイルのアクセスが非常に多いWin2kにおいて固定がよいか、あるいはOSに任せたほうがよいのかは用途にも関係して微妙なところである。現時点ではWebmasterは標準設定のままである。

tweak-UIの導入

1.Win2k用のtweai-UI(ver1.33)をこちらから入手する。自己解凍して得られたtweakui.infを右クリックし、ヘルプのパネルを閉じる。日本語版のパッチもあるが、インターネットで辞書が引ける時代なのでスキルを磨くためにも英語のままで良いのではなかろうか。

2.コントロールパネル・tweakUI・MouseタブでMenu speedをFast。ExploreタブでShortcut overlayをNone、IEパネルで"Allow Active Desktopu to be turned on.off"、"Allow changes to Active Desktop"、あとは"Shell enhancements(タスクバーの右クリック関係)"などの要らないもののチェックをはずす。

この際、"Show Control Panel on Start Menu Settings" のチェックははずさないこと。ポリシーが変更になってコントロールパネルが不可視になる。もしそうなった場合は、レジストリーエディターで"NoControlPanel"を検索し、REG_BINARYを 01 00 00 00 から 00 00 00 00 に変更するか、あるいは"NoControlPanel"キーを削除することで回復する。

セコい細工

1.コントロールパネル・マウスのプロパティー・ポインタで”ポインタの影を有効にする”のチェックをはずす。これで平均1%のCPU負荷が減る。

2.コントロールパネル・キーボードのプロパティーで、表示の待ち時間を短く、表示の間隔を早く、カーソルの点滅を早くする。意外なことにこれらではCPU負荷はあまり増えない。

3.入力ロケールタブで”タスクバーにインジケータを表示する”のチェックをはずす。その他、タスクバーの並んでいるアイコンはなるべく表示しない設定にする。Win2kではアイコン小物によるシステムリソースの圧迫(別名Win9Xパソコン成人病)は軽いが、会話性が高くGUI処理をフックするためにCPUとメモリーの大きな負荷であり続けることには違いない。一般にタスクバーに並ぶアイコンの数はOSの理解力およびスキルと反比例すると言われている。

4.起動時のサウンドをThe Microsoft Sound.wav(22kHz16bit、677kB)をtada.wav(同168kB)にしよう。これだけで起動が1秒メモリ消費が1MB近く抑えられる。もしtada.wavを11KHz8bitにリサンプルすればもっと早くなるし、音を切ればさらに早くなる。

これで、おそらく同じマシンでWin9Xで走らせた場合のレスポンスの80%位には回復するのではなかろうか。実際に上記の細工を施して起動直後のタスクマネージャでの数値の違いを見ると、コミットチャージにして4MB以上、最大メモリー使用量にして10MB以上、ハンドル数にして100以上も減っている。

”それほどの差はメモリーをたくさん積めば無くなるんじゃないか?”

と言う人もいるだろうが、それは間違いである。MapCache細工の時も同じような意見をいただいたが、それは風水工学の真髄を理解していないのである。次のようなたとえ話が理解しやすいだろうか。

M$飯店では台所(メモリー)がいかに広かろうが、俎板(CPU)まわりのスペースは一定である。Win2K料理人はWin9X料理人より仕事は遅いが着実にこなす信用できるヤツである。しかし同じ料理を作るにしてもWin9X料理人より食材(コード)と手間(処理)が多くなってしまう。したがってGUI料理に最低限必要で俎板に居座る可能性の高い食材(コード)は少ないほど良いのである。

M$の小さな親切(大きなおせっかい)は自転車の補助輪のようなもので、乗れるようになったらはずすべきものなのである。僅かな差だが、パソコンが動いている間ボディーブローのように効く。そしてパソコンのレスポンスが低下して失神した時に、タイムアウトで落ちるか、あるいは蘇生するかの分かれ目にこのマージンが効く

これだけの効果があれば、都市伝説のようなレジストリー細工で得られるわずかなゲインがむなしく見えてくるであろう。Webmasterは原則としてレジストリー細工はしないことにしているが、それで困ったことはあまりない。これを風水工学的には、

レジストリーいじり損のくたびれ儲け

と言っている。

最初に戻る


Mar. 2
 ●WinNT族での風水変造を考える・序章

Webmasterの周辺でもWin9X族からWinNT族への転換が進んでいる。WinNT族への乗り換えは歴史の浅いユーザーほど簡単である。たとえばワープロやエクセル、インターネットの利用が中心であれば、WinNT族で問題となることは殆ど無い。

しかし多くのハード/ソフトを引きずっているユーザーにとってはNT族への乗り換えはかなり困難だ。古いハードではconfig.sysで設定を組み込む物も多く、常用する画像機器の多くが非対応なので困った物である。最近はUSB接続の安価な画像機器がボツボツ登場しているので、様子を見ながら乗り換えるつもりである。

さて、Webmasterの現用機器は何か、というお尋ねを戴くことがある。仕事場の常用システムは、

   ●ベアキットを使ったP55C変造マシンのナゾ

で紹介したもので、これにK6-II+(75x6=450MHz駆動)を差している。マザー(MMV-BA5-G)はK6-II非対応だが、従兄弟にあたるMYCOMPのAI-5VPのBIOSを焼き込んで使っている。ただしK6-II+は無印MMXプロセッサーと認識されるので、Write Allocateを有効にするためにk6.sysを使っている。ビデオカードはPCI版Voodoo Banshee、サウンドカードはSB16である。これでセレロン500MHz程度の能力であるが、がっかりされただろうか。

ただし、このマシンはただ者ではない。まずjxword太郎(一太郎の先祖)とwordstar1.1以来のギガバイトオーダーのテキストが全て乗っている。またこのマシンはWWWサーバーとしてテラバイトオーダーのデータを配信してきた。そう、本ページのサブサーバーは長らくこのマシンだったのである。そしてWin98ながらめったに落ちない。いろいろな御意見もあろうが、それだけの実績で十分ではなかろうか。

さてWebmasterの管理下でもWin2kのシステムは増えているが、安定性という面では必ずしも満点とは言えない。特にUSBの活線抜き差しや省電源機能で落ちてしまうことが度々あるし、またアプリケーション、特にIEのバグは日常茶飯事である。

Win9Xではカーネルの切り口は32bitになっているが、USER.EXEやGDI.EXEには16bitコードが数多く残っていた。従って16bitコードが走っている間は、プリエンプティブなOSのスケジュールは保証されないので、処理によってはタイムアウトの可能性があった。また16bitコード間のメモリーの保護も十分でなかった。

しかし、この点に関しては大してボロが出なかった。それは、これらのコードがアセンブラーでコンパクトかつ巧妙に書かれていて処理が早かったからである。しかし16bitコードが依存するシステムリソースエリアの制限はいかんともしがたく、それが風水変造を要した原因である。

これが純粋32bitOSであるNT族では、まず16bitコードの持つ脆弱性とシステムリソースの制限が改善された。また32bitメモリーモデルの保護も十分となった。さらに、ユーザー権限やファイル保護、ネットワーク機能も強化されている。しかし、実際にはIEなどはバグで簡単に気を失ってしまう。タスクマネージャーの使い方を知らない初心者は再起動で対処しているようだ。

NT族と言えども、IEやシェルを初めとしたシステムライブラリーの多くがWin9Xと共通である。従って、これらのバグについての脆弱性はWin9Xと同じであり、この点においての期待はまったく裏切られた感がある。もう一つ、NT族に約束されたハズの高速性については期待はずれのままである。友人はWin2Kのノートパソコンを使っていたが、立ち上がりと処理の遅さにwin98に戻してしまった。

なぜNT族はかくも遅いのか?

Windows族の特徴の一つにDLLへの過大な依存がある。システムサービスの多くをDLLとして実装することにより、DLLをダイナミックに更新するだけでバグフィックスや機能の追加が実現できる。また使用頻度の低いDLLは細切れになってスワップアウトされるので、メモリー効率も良いはずであった。従ってM$はDLLを乱発し、システムはDLLだらけとなった。この点がOSの機能が固定されているモノリシックなUNIX族と大きく異なる。

しかしM$はDLLにあまりにも依存しすぎた。たとえば一つの窓を開くためには多くのDLLが呼ばれる。画像や文字の表示やマルチメディア機能のためには、さらに多くのDLLがディスクから読み込まれることになる。そして、新しいバージョンではより多くのより肥大したDLLがロードされることとなった。

しかし、本来DLLは脇役のハズである。主人公であるアプリケーションのコードやデータがディスクから読み込まれ処理が行われるのだが、窓が開く瞬間にアプリケーションが握っていたリソースの多くが脇役のDLLに奪われてしまう。そしてアプリケーションとDLLがお互いにCPUの処理を、キャッシュを、仮想記憶の実メモリー分を、そしてディスクキャッシュを取り合うことになる。つまり、リソースを巡るDLLの春秋戦国時代と言うことである。

そのことをwebmasterが意識したのは、

  ●デュアルセレロンマシンの衝撃

であった。当時Pen-IIの廉価版として登場したセレロンにはL2キャッシュが装備されていなかった。しかしオーバークロックが効くセレロンはマルチメディアやゲームでPen-IIに肉薄する性能を示した。それは、CPUパワーが期待される重い処理ではタスクスイッチのためにL2キャッシュの効率が低下するからである。

それだけではない。L2キャッシュが無いデュアルセレロンのNTマシンは、デュアルPen-IIに迫る性能を発揮した。本来マルチプロセッサー(SMP)ではバスの競合を避けるためにCPUが大きめのL2キャッシュを装備することになっている。しかし、L2キャッシュが無いデュアルセレロンの性能がデュアルPen-IIと遜色が無いということは、NT族ではSMPにおける常識が働いていないということである。

それでは同じ処理をWin9xとWin-NTに行わせるとどうなるだろうか。基本的にアプリやOSシェル、IEのコードの多くが共通であり、またマシン側のCPUキャッシュ量やメモリー量などのリソースも殆ど同一である。とすると、DLLが肥大化した分だけタスクスイッチの負荷が重いNT族の処理が遅くなってしまう。本来OSの32bit化と高度なスケジューリングによって高速化するハズのゲインが、DLLの肥大化によって喰われたのである。

どうやら電算機もレーシングカーと同じように、コードが太ったらお終いなのであって、太った分は高速CPUや高速ハードウェアでも埋め合わせができないということである。

そこで、Windows 2000/Windows XP性能比較というアットマークの記事を見て欲しい。ワードやエクセルでの自家製ベンチマークではWinXPはwin2kよりかなり遅い。特にエクセルではWinXpでの処理能力は半分に低下している。一方、同様にワードやエクセルの処理が含まれる米国版のSYSmark 2001では、WinXPはwin2kよりむしろ早かった。その矛盾はなぜだろう。

賢明なる本ページの読者は既におわかりであろう。日本語版WinXPにおいて処理と非同期に発生する日本語処理や日本語フォントの負荷が、WinXPで実現されたハズの高速化のゲインをすべて食い尽くし、処理を低下させたのである。そしてPen-IIIよりパイプラインが深いPen-4は日本語処理に伴うタスクスイッチで失速しやすく、一旦失速するとペナルティーも大きいのである。

さらにアプリケーション・ベンチマーク・テストの考察では、日本語フォントにかかわるアンチエイリアスやclearfont処理をはずすと、WinXPの速度がかなり改善することが示されている。しかし、これらの処理をすべて無効にしても、DLLの肥大化による速度低下は埋め合わされなかった。残念ながらSuper-ASCIIの系譜を引き継ぐ記事の著者は日本語処理のインパクトを完全には理解できていないようだ。

何のことはない、この記事は、本ページが提唱しているようにフォント負荷を減らすことによってボトルネックを改善するWin9Xの風水変造がwinXPでも有効であることを図らずも示してしまったのである。1GHz超のハイエンドマシンといえども、かくも日本語フォント廻りの処理は重いのである。

CPUによって処理を倍にするためには莫大なハードウェアリソースが必要であり、それには地球に優しくない発熱と電力消費を伴う。そしてWinXPは、ハードウェアによるゲインを簡単に帳消しし、後には倍になった炭酸ガスが残るだけである。

本ページが書籍化するにあたって、多くの書評で”パソコンの一時期の発展経過を顧みてノスタルジーを感じる”という趣旨の言葉を戴いた。多くの関係者は、風水変造をwin9x時代の昔話としたいようだが、風水変造のコンセプトはNT族でも生きている。いや、電算機は未来永劫に肥大化と戦う必要がある。

”OSは必ず肥大化する”というパソコンのパーキンソンの法則に対しては常に選択と集中が必要ある。今までM$はOSの肥大化によって利潤を挙げてきたが、そのパラダイムは終焉を迎えつつある。

そして、今や電算機のソフトもハードも米国に支配された日本のITエンジニアは何をすべきか。答えは肥大化によって効率が低下したWinXP、そしてタスクスイッチにあえぐPen-4の中に見えてくるだろう。今後本ページでは、その方策を探ることにしよう。

実に、風水工学にいわく、

”西風は風水を圧倒するが、風水は西風を圧倒する”

最初に戻る


最初に戻る