Webサイト専門プログラマの言いたい放題

元システムエンジニアがサイト制作とプログラミングについて好き放題しゃべります。

【マウスカーソルが動く本当の理由】

f:id:wp-lesson:20160628172608j:plain
この当たり前すぎる問いに、
的確に答えられますか?
 
マウスを動かすと、
 
「何ミリ秒の間に、元の場所から
 前後左右にそれぞれどれくらい
 動かしたのか?」
 
という情報がコンピューターに
伝わります。
 
そして、マウスの移動速度などの
諸設定や、ディスプレイの解像度
などを考慮して
 
「新しいマウスカーソルの位置」
 
を、コンピューターは計算します。
ディスプレイの左上を座標の原点
とすると
 
X=500 Y=200
 
といった具合です。
 
そして、位置の計算が終わってから
その場所にマウスカーソルの画像が
描画されます。
 
このサイクルが、コンピューターの
中では一瞬の間に何千回も何万回も
高速で繰り返されています。
 
だからマウスが滑らかに動いている
”かのように” 見えるワケです。
 
しかし、マウスを動かしてもいない
ときに何千回も何万回もムダな
繰り返しをするのはコンピューター
の処理時間をムダ使いしていること
になります。
 
何もしないのなら、別の処理を行う
ために処理時間を割り当てたほうが
効率的です。
 
そのため、コンピューター内部では
 
「マウスを動かしたかどうか」
「左クリックしたかどうか」
「Enterが押されたかどうか」
 
といったように、私たちユーザーが
何らかの操作を「したかどうか」を
高速で繰り返しチェックしています。
 
チェックするだけなら処理時間が
あまりかからないからです。
 
そして、マウスが動いたことを検知
すると、
 
「マウスが動いたときの処理だけを
 専門に行うプログラム」
 
をコンピューターは起動させます。
 
OSが行っているこのような仕組みを
 
『メッセージループ』と呼び、
 
マウスやキーボードの操作を起点に
起動されるプログラムのことを、
 
『メッセージハンドラ』と呼びます。
 
そして、メッセージハンドラを起動
するきっかけとなる操作のことを、
 
『イベント』と呼び、
 
イベントの発生を常に監視して、
イベントが発生したときにハンドラ
にバトンタッチする処理形式を
 
『イベント駆動』とか
『イベントドリブン』と呼びます。
 
私たちが普段使っているPCのOSは、
イベント駆動で動いています。
 
※ちなみに添付の画像をクリックしても
 何も起きませんのでご安心ください。

↓↓↓「自分で作れる力」を身につけたいあなたへ↓↓↓

【1】CODEMYマンツーマンレッスン

codemy-lesson.office-ing.net
⇒30分無料相談あり
⇒知りたいことだけ学べる個人レッスン

▼レッスンの記録をご覧いただけます。
https://www.facebook.com/codemy.lesson/
 

【2】プログラミング講座CODEMY

office-ing.hatenablog.com
⇒動画と個別添削で学べるオンラインレッスン

自分でホームページやプログラムの制作やカスタマイズをできるようなりたい方が
業種・経験・地域を問わず参加されています。

講師実績

業界大手リクルート社が運営する総合学習サイト「おしえるまなべる」
2015年、パソコンジャンルで1位評価(総合3位)