2023年1月20日金曜日

質問。なぜmacOSはWindowsよりはるかに滑らかに動くのでしょうか? 回答。MAC OSのプログラマーの全員が「なめらかかつ自然に動くこと」を念頭に置いており、MacはOS XからすべてGPU描画に変えた事や、バックグランド処理が優秀などがあげられるそうで御座います。

人気回答集

フォロー

コンピュータ歴36年です。MS-DOS、Windows、Macintosh(現Mac)などなど、長い歴史を見てきたという意味で答える資格があるかもと思い、回答します。

Windowsはいまだに旧来のウィンドウシステム(Vistaから刷新されたが、根本的なGDI互換を保っている)をひきずっているからとか、MacはOS XからすべてGPU描画に変えたからとか、各種バックグラウンド処理がどうだとか、入力への処理フックが多いだとか少ないだとか、技術的なものを言えば、たくさんたくさんあると思います。

ですが、この答えはもっと別のところにあります。

それは、macOSを作っている人たちが、全員「なめらかかつ自然に動く」ことを念頭に置いているからにほかなりません。

macOSは気持ちの良い操作感をまず設計し、それから各種UIや処理方法を決定します。

これはジョブズ氏の思いでもあったし、真の意味でユーザーフレンドリーです。

Macはなめらかになるべくしてなっているのです。デザインとはこういうことを言うのでしょうね。

Mac歴はたった22年です。もし尊大な意見のように感じられたらご容赦ください。

————————————

2020/8/18追記:(コメントから回答本文へ移しました)

たくさんの閲覧、高評価、コメント、ありがとうございます。

何人かの方は、私の伝えようとした、(本当の意味での)「アーキテクチャ」についてコメント、補完していただきました。ありがとうございます。

文章力が足りず、書けば書くほどわかりづらかったので、いろいろはしょった文章でしたが、多くの高評価をいただけで非常にうれしかったです。

ただ、はしょった部分を補足として、もうひとこと書こうと思います。

いまではCPUの設計ルール(あえてルールと言わせていただきます)としての「アーキテクチャ」が一般的な認識になってしまった感じがありますが、本来のアーキテクチャとはまさに「思想」です。

根源的なものです。

空を飛びたいと思わなければ飛行機は作られることもなかったし、海を渡るには自分で泳ぐ以外にないのかと疑問に思わなければ、船も作られなかったでしょう。

空を飛ぶ道具、海を渡る道具、それをどうしたら実現できるのか?

空を飛ぶなら、鳥のように羽ばたく、らせん状の羽をくるくる回す、超強力なバネで人間をぶっ飛ばす・・・空想と現実をつなぐアイデア、これがアーキテクチャです。

その上で、モノとして現実化するためのプロセスが始まります。

なめらかな表示をさせたいなら、まず線一本をどう描画するのかから考え始める必要があります。

線は物理チップがどんな形式でディスプレイに出力する?物理チップはメモリのどこからデータを読み出す?メモリマップさせるためのマイクロコードはなに?マイクロコードを呼び起こすための上位プログラムはどうする?そのプログラムはOSのどのモジュールがたたく?OSのモジュールはどこに作る?カーネルはいつ、どう指令する?プログラマにはどんな形式(APIなど)で提示する?

そんな長い道のりがあり、初めて画面に線一本が描かれ、つぎになめらかにする方法に移っていきます。コンピュータは怒濤の積み重ねの上で動き出します。

これは技術です。

技術がなけれはコンピュータは「A」一文字ですら、表示させることはできません。

スティーブ・ジョブズ氏は技術に最高に明るいわけではありませんでした。(Apple Iにしても、ウォズニアック氏がほぼ作ったように、その後のすべての「モノ」はジョブズ氏が「設計した」というものは皆無でしょう)

しかし、

人間とコンピュータはいかに関わるべきか

コンピュータは人間にとって何であるべきなのか

コンピュータは人間をもっと幸せにできるのではないだろうか

そんな、当時の「コンピュータ屋」はほとんどだれも考えなかったことを、死ぬまで考え、そして実現した人物なのです。

彼が持っていたのは、アーキテクチャです。

ジョブズ氏のアーキテクチャを実現する上で、OS Xはなめらかに動く「必要」があったわけです。

以下、Macのとある機能を実現するまでのジョブズ氏の考えを「妄想」したものです。アテにしないでください。(笑)

・ウィンドウがパカパカ消えたり出たりするのは不自然だ。どうすればいいだろうか?

・もしウィンドウを格納したり出したりするときに、ふわっと動いたら、わかりやすいのではないだろうか?

・「ふわっ」を実現するには、どうしたらいいだろう?

・そもそも「ふわっ」て、どういう状態なんだ?

・なんか、映画でおもしろい演出があったよな?あのアラジンの魔法のランプの・・・

・あ、壺をこすったら魔神がシュワッとでてくる、あれ!まるでご主人様の指令を壺のなかで待っていたようなあれ!あれを実現できれば、たぶん気持ちいいぞ!

・(mac OS担当に)「おい!こんな煙が出るような機能をつくれ!気持ちのいいタイミングを0.01ms単位で測れ!ディスニーを参考にしろ!」

そしてDockの”ジニー”エフェクトが生まれました。(笑)

(すべて妄想です。ジニーはそもそもジョブズ氏が考えた機能なのかすら、私は知りません。あくまでやるならこんな感じだっただろうという妄想です。)

なにごともまずアーキテクチャが必要です。

なめらかとは、そのアーキテクチャに添った一つの実現でしかありません。

・なぜ彼はOS XにNeXTコードを持ち込んだのでしょうか。それは合併のためのビジネス(=金銭的利益)という意味だけだったのでしょうか。

・仮にもし、ジョブズ氏が目が不自由な方に向けてコンピュータを設計したとしたら、何をしたでしょうか。

・ジョブズ氏が2050年のコンピュータを考えたとしたら、何を作るでしょうか。

OS Xを搭載したMacは、コンピュータ界の一つの転換期でした。

「次」はいつでしょうか。

そして、そのときの「なめらか」とはどういう意味になるのか、妄想するのも有意義かと思います。

0 コメント:

コメントを投稿