屋森 英樹 のすべての投稿

2008年冬、64bit OS時代到来

今年2008年冬の年末商戦以降、一気に64bit OSが浸透するかもしれません。これはWindows Vista登場間近から噂されていた事ですが、いよいよ現実味を帯びてきました。

去年から続いていたDDR2 SDRAMの大暴落は、PCのメモリ搭載量を飛躍的に押し上げる要因となったのは記憶に新しいところ。今や、新しいPCでメモリ合計4GB未満を選ぶことは、余程の理由がない限り避けたほうがいいでしょう。少ない投資で快適さを得るならメモリの増量が一番効果的だからです。例えば、複数のアプリケーションを起動したときに、ガリガリと音を立てて動作が重くなるHDDスワップも、大容量メモリなら回避出来ます。

さて、ここで問題となるのがOSの認識出来る最大メモリ量。今、一番普及しているWindows XPは、多くの人が32bit版を使っていることでしょう。この32bit版XPで扱えるメモリの最大値は、2の32乗である4GBまで。実際はOSの制限で3GB程です。余剰メモリをRAMドライブとして使用することを抜きにすれば、Windows XPの機能だけでは、どうがんばっても、それ以上認識させることは不可能。そこで、標準で4GB以上のメモリを扱える64bit OSに注目が集まってきたのです。海外のPC通販サイトでは、OSにWindows Vistaの64bit版を搭載するのが主流になってきています。その効果もあってか、Vistaにおける64bit版の割合は、2008年10月に全ユーザの20%を超えました

では、64bit OSを使用するにあたり、注意しなければいけない事はなんでしょうか?2つあります。

1つは、使用中の機器に対応したドライバが存在するか。32bit用のドライバは流用できません。Vista発売時に散々言われていたデメリットです。しかし、それも今では解消されました。有名なメーカーの機器なら、64bit版ドライバが提供されていますので安心してください。また、サポート期間の過ぎた古い機器でも、OSに標準で用意されていたり、メーカーのサイトで公開されている場合があります。例外として、新製品でも地デジ用チューナーボードだけは注意しなければなりません。国内メーカーの製品は、どれも32bitドライバしか提供されておらず64bit OSで使用不可能。これは販売側の怠慢としか思えません。しかも、酷いメーカーになると、64bitドライバを提供していないのにVistaロゴに似せたマークを印刷して販売しています。有名なメーカーでも、日常的に行っている商法なので、64bit OSを使うときは十分注意してください。

2つ目は、使用中のアプリケーションが対応しているかどうか。現行の32bitアプリケーションであれば、驚くほど何の障害もなく動作します。問題なのは「16bitアプリケーション」と「特殊なドライバが必要」な場合です。Windows 95時代のアプリケーションは、インストーラーや本体が16bitの物が多く存在しました。64bit OSでは、「16bitアプリケーション」のサポートが切り捨てられてしまったので、それらを動かすことは出来ません。どうしても動かしたいのであれば、仮想環境にWindows 95をインストールして使ってみてください。

「特殊なドライバが必要」なケースのほうは、最近の32bitアプリケーションでも起こります。一番問題になりそうな例をあげると、不正使用防止のために設けたセキュリティ機構が該当します。一時期騒がれた、ルートキットまがいのドライバをOSに寄生させアプリケーションを監視するタイプは、最早絶望的です。64bit Windowsでは、未署名のドライバ、32bit以下のドライバはインストールできません。これらが代替の利くアプリケーションなら、使用を諦めれば済む話です。ですが、思い入れのあるゲームだったりしたら、泣かざるを得ません。とりあえず最良の解決策は、「古いOSを仮想環境のために保管しておく」、「ゲームは買ったら早い内に遊び、飽きるまでやり尽くす」ことです。

これら以外にも64bit OSの特徴が上手くまとまった特集記事が下記にありましたので、時間があれば読んでみてください。

64bit Vista完全導入ガイド (DOS/V Power Report - Impress)

最後に、もう1つ。別途、開発者が注意しなければいけないことがあります。64bitアプリケーションの作成のとき、OSのAPIやコンパイラがサポートしているデータモデルを常に意識しておく必要があります。C/C++を例にお話をします。64bit WindowsのVC++はLLP64モデルを採用しており、short int:16bit、int:32bit、long int:32bit、long long int:64bit、pointer:64bit。対する64bit Linux系のGCCはLP64モデルが採用され、long int:64bitだけ、LLP64モデルと異なっています。この相違点は、マルチプラットフォームでの開発で問題になります。LP64モデルを想定して作ったアプリケーションをLLP64モデルの環境でコンパイルすると、桁落ちを起こし異常動作するかもしれません。回避策は相違点のあるlong intを使わない、もしくはstdint.h(inttypes.h)をインクルードして明示的に変数幅を固定すること。それさえ守れば、OSやコンパイラ間、そして、32bitアプリケーションとの互換性を維持するのも難しくはないでしょう。

64bit#64ビットデータモデル (Wikipedia)

64ビットになると何が変わる?――64ビットプログラミングのデータモデル (2/2) (ITMedia)

Linuxと64bit環境 (VA Linux Japan株式会社)

2008年11月16日、Intelの新CPU、Core i7が発売されました。ハイパースレッディングによりOS上からは8コアに見えるそうです。対応マザーボードは、DDR3 SDRAMを3チャンネル単位で使うことが推奨され、合計6枚も挿せます。これは最大24GBのメモリが使えることを意味します。新しいPCの購入を考えている方は、これを機に思い切って64bitOSの世界に足を踏み入れてみては如何でしょうか。

2008年11月19日追記:デルを含む各ショップブランドから、OSにVista x64版を採用したCore i7搭載モデルが続々と販売開始されました。一応、XPにダウングレード出来るとこもあるようですが、メモリの問題も含め5年以上昔のOSで真価を発揮できるか疑問です。やはり、Vista x64版が妥当かと思います。

APNGが普及しない2つの理由、2つの望み

Firefox3とOpera9.5以降では、APNGと言うアニメーション画像形式が表示可能です。これはGIF代替を目標にMozilla Foundationが独自に策定したフォーマットでPNGをベースにしています。しかし、いまいち普及に弾みがつきません。その尤もたる理由を2つ述べたいと思います。

APNGが考案された経緯はGIFのライセンス問題に端を発します。かつて、GIF画像の作成に採用されているLZWアルゴリズムの権利保有元が、突然、特許料の徴収を強化し始めました。既にブラウザの標準的画像形式であり、自由に使えていたGIFに降りかかった予想外の事件。この自由を奪う行為に反発した多くの人々が立ち上がり、代替フォーマットを考案したのでした。それが静止画像形式PNGと、アニメーション画像形式MNGです。PNGが一定の成功を収めた一方、残念なことに、MNGは策定の遅れと難解な仕様のため次第に忘れ去られていきました。このMNGの反省点から、再度GIF代替アニメーション形式として発表されたのがAPNGです。しかし、時既に遅し。LZWの特許期間が満了し、GIFを昔のように自由に使える現在、APNGの出る幕はありません。全てのブラウザで表示できないAPNGを誰が使うのでしょうか。

第2に、この新しい画像形式に対応させるために開発リソースを割く価値が薄いこと。APNGは野心的にもフルカラーアニメーションをサポートしていますが、可逆圧縮であるが故にPNGと同様の欠点があります。それは、ファイルサイズが大きくなってしまう、と言うことです。ブロードバンド時代とは言え、無意味に大きなファイルは転送に時間がかかり、閲覧者とサーバ双方のストレスの原因になります。結局、256色以下に減色した画像を使うのが最良の選択。そうなると、わざわざAPNGを使わずともGIFで事足りてしまうのです。しかも、FlashやJavascript全盛の昨今、ブラウザでのアニメーション画像の活用範囲は、非常に限定的ものとなってしまいました。そのような状況で積極的にAPNGをサポートするブラウザが増えるのか、甚だ疑問です。

ですが、普及の望みがない訳でもありません。ブラウザシェア70%のIEがAPNGに対応すれば、一気に普及の道が開けるかもしれません。近頃は他のブラウザにじわじわとシェアを奪われていますが、まだまだ、その存在感は大きいです。IEの動向は要注目です。

また、APNGはGIFと同様、シンプルなフォーマットです。libpngに読み書き用のAPIが実装済みと言うことなので、ブラウザ以外の用途で道が拓ける可能性もあります。ブラウザでの利用に拘らず、ゲームのリソースとして使ってみてもいいかもしれません。興味のある開発者は挑戦してみては如何でしょうか。

以上、MNGアニメーション編集ソフトを開発したことのある筆者の見解でした。

リトルビッグプラネットで落ち物パズルを作った人がいた

なんだ、野生のプロか…。

LBPことリトルビッグプラネットは物理衝突をふんだんに活用した人形劇のようなパズルゲーム。これのエディットモードで落ち物パズルを作ってしまった人がおりました。オンラインで「TETRIN.JP」と検索すると、このステージを遊べるそうです。

ゲーム内の道具だけで、まったく別の遊びを作り出してしまう職人技術に感嘆してしまいました。海外サイトで取り上げられていたので、てっきり、MOD文化が盛んな欧米のクリエイター作品かと思っておりました。ところが、蓋を開けてみると日本勢の仕業。全体的に元気のない日本ですが、まだまだ捨てたものではないですね。

Ubuntu8.10のインストールでの注意事項2つ

2008年10月30日、Ubuntu 8.10がリリースされました。8.04と比べると遥かに使いやすくなっており、インストーラーも進化しています。Wubiが標準添付され、Ubuntu専用領域を作らずに、Windowsのパーティションへ仮想ファイルとしてインストールすることも可能になりました。ライブCDを起動させてみて問題が無ければ、快適なUbuntuライフが送れることでしょう。

ですが、このインストーラー、1つだけトラブルになりそうな部分があります。それはライブCDからインストールするときに表示される"ディスクの準備"画面。初期設定では"既存パーティションをリサイズして空き領域を作る"となっています。もし、この設定のままインストールしてしまうと、使用中のパーティションが縮小され、Windowsを起動した時に空き容量が足りなくなってしまいます。他のドライブに完全な空き領域が存在してもお構いなしです。

Ubuntu 8.10、"ディスクの準備"画面

そこで、この画面では、なるべく一番下の選択肢"手動"を選びましょう。手動であれば、好きな場所に好きな容量で新たなパーティションを作成できます。

Ubuntu 8.10、パーティションの手動設定

もう1つ、起動スクリプトであるGrubのインストール先についても注意が必要です。リムーバブルメディアにUbuntuをインストールした場合、デフォルト設定では作業をしたPCのMBRを上書きします。そうなるとubuntuの起動にはGrubの保存されている作業PCが必須となり、リムーバブルメディアであるにもかかわらず、他のPCでは使えなくなってしまうのです。リムーバブルメディアでUbuntuを使うときは、そのメディアの先頭にGrubをインストールするように変更しましょう。Grubのインストール先を変更する手順は、UbuntuのGrubとMBMを共存させる方法も併せてご覧ください。

ハロウィンのジャック・オー・ランタンを作ってみた

ハロウィン用カボチャを買ったので、ジャック・オー・ランタンを作ってみました。用意したカボチャは、売り場の隅っこにひっそりと転がっていた、小ぶりの100円物。この中に1つだけ妙に惹かれる形のものがありました。よく見かけるツルリとした表面ではなく、グロテスクなコブがボコボコと浮いていたのです。お化けに相応しい面白い品種ですよね。ここ数年は日本でもハロウィンイベントが広まりつつあり、ホームセンターでもハロウィン用カボチャを手に入れることができます。

では、くり抜き開始。工具は小学生が木工で扱う汎用小刀を使いました。なぜ小刀を選んだかと言うと、掌と親指で柄をしっかり握れ、刃先の力加減を細かく調節出来るためです。カボチャの硬い皮を削っても怪我をする恐れが減ります。包丁では刃渡りが広く扱いにくいですし、彫刻刀の切り出しでは刃先が短い。一見最適と思えるカッターは、長く伸ばして使うと刃が折れ飛ぶ危険性があります。刃物選びは慎重に行いましょう。

まずは、種をかき出す為に下に丸い穴を開けます。底蓋は後で蝋燭を立てる燭台とするので、原形を留めたまま綺麗に切り取ってください。一気にくり抜こうとせず、輪郭に沿って何回も刃先を突き刺し、徐々に切れ目を繋げていくと上手く行きます。最初の工程で力加減が解らないでしょうが、力いっぱい突き刺さないでください。反対側まで貫通しかねません。ハロウィンのカボチャは中身がリンゴのようにサクサクだからです。皮は多少硬いですが、日本で食用に売られている品種よりも軟らかいです。

底蓋が外れそうなくらい緩んできたら、蓋の隙間から刃先を斜めに入れて中の種を切り離し、蓋を取ります。そして、スプーンでひたすら種をかき出してください。かき出す場所は濡れても良い場所を選びましょう。ハロウィンカボチャは汁気が多いからです。種を取り終わったら綺麗に洗って臭いを取り除いておいてください。

そして、メインとなる目、鼻、口のくり抜き。表情に影響する大切な部分ですので、細かく範囲を区切ってくり抜くこと。例えば、目や鼻であれば、それぞれの中心から徐々に穴を広げていく感じです。とにかく、焦らず、少しずつ削っていくのが完成への近道となります。

小学生以上のお子さんがいらっしゃるご家庭なら、刃物の扱い方を学ぶいい機会ですから、ぜひ親子で楽しんでみてください。