Bit Block Transfer

Bit Block Transferの最新ニュースをまとめて検索!

Bit Block Transfer は、コンピュータにおける描画アルゴリズムの一つ。描画する画像データ (ビットマップ) を一旦メインメモリに蓄え、最終的な画像データだけをVRAMにまとめて転送する。BitBlt と略されるが、これをドライバやゲームのコンフィグなどでBitBitと表現してしまう間違いも多く見られる。

[編集] 概要

CPUからVRAMに対する直接アクセスはCRTCからのアクセスの干渉などハードウェア的な制約が多いため、メインメモリに対するアクセスよりも低速であることが多い。このため、画像操作の度にVRAMにアクセスを行うことは描画速度を低下させるばかりか、描画途中で画面のフレームが切り替わってしまう状況を生じやすく、ちらつきを発生させる原因となる。これらの問題の解決方法の一つとしてBit Block Transferが利用される。CPUの代わりにDMAコントローラを用いてメインメモリからVRAMビットマップを転送するアーキテクチャも存在する。 Macintoshでは「オフスクリーン描画」と呼ぶのが普通で、Bit Block TransferやBitBltという語句はめったに出てこない。

Bit Block Transfer用に確保したメモリ領域はオフスクリーンまたはオフスクリーンバッファと呼ぶ。またわかりやすく仮想画面と呼ぶこともある。

[編集] 逸話

もともとは、Altoで、オーバーラップするウインドウを有するGUIの効率化を図るために、ダン・インガルスらにより考え出され、Smalltalkシステムに組み込まれ運用されたのが最初で、その後、PARC内外で広く利用されるようになり現在に至る。Smalltalkシステムでは、通常の描画の他にも、タートルグラフィックス、あるいは、前のウインドウに隠れて一部しか見えていない裏のウインドウの内容更新などを行なう際などに活用された。なお、Altoではこれらの描画処理を、矩形領域の組み合わせ、かつ、ハードウエア処理の助けを借りて行なっていたのだが、それをデモで見せられたビル・アトキンソンが勘違いして、不定形領域を対象にでき、しかもソフトウエアのみで行なっているものと誤解。その認識のまま、後にLisaMacintoshでGUI描画の中核を担うQuickDrawとして、ついに完成させてしまった逸話がある。

[編集] 関連項目

最終更新 2009年9月23日 (水) 14:24 (日時は個人設定で未設定ならばUTC)。
【Bit Block Transfer】変更履歴

ご利用上の注意