ソースを表示
出典: Wikipedio
Bit Block Transfer
のソース
移動:
ナビゲーション
,
検索
以下に示された理由によりページの編集を行うことができません:
この処理は
登録利用者
の権限を持った利用者のみが実行できます。
以下にソースを表示しています:
'''Bit Block Transfer''' は、[[コンピュータ]]における描画[[アルゴリズム]]の一つ。描画する[[画像]]データ ([[ビットマップ画像|ビットマップ]]) を一旦[[主記憶装置|メインメモリ]]に蓄え、最終的な画像データだけを[[VRAM]]にまとめて転送する。'''BitBlt''' と略されるが、これをドライバやゲームのコンフィグなどでBitB'''i'''tと表現してしまう間違いも多く見られる。 == 概要 == [[CPU]]から[[VRAM]]に対する直接アクセスは[[CRTC_(LSI)|CRTC]]からのアクセスの干渉などハードウェア的な制約が多いため、メインメモリに対するアクセスよりも低速であることが多い。このため、画像操作の度に[[VRAM]]にアクセスを行うことは描画速度を低下させるばかりか、描画途中で画面の[[フレーム]]が切り替わってしまう状況を生じやすく、ちらつきを発生させる原因となる。これらの問題の解決方法の一つとしてBit Block Transferが利用される。[[CPU]]の代わりに[[Direct Memory Access|DMA]]コントローラを用いてメインメモリから[[VRAM]]に[[ビットマップ画像|ビットマップ]]を転送するアーキテクチャも存在する。 [[Macintosh]]では「オフスクリーン描画」と呼ぶのが普通で、Bit Block TransferやBitBltという語句はめったに出てこない。 Bit Block Transfer用に確保したメモリ領域は'''オフスクリーン'''または'''オフスクリーンバッファ'''と呼ぶ。またわかりやすく'''仮想画面'''と呼ぶこともある。 == 逸話 == もともとは、[[Alto]]で、オーバーラップするウインドウを有する[[GUI]]の効率化を図るために、ダン・インガルスらにより考え出され、[[Smalltalk]]システムに組み込まれ運用されたのが最初で、その後、[[PARC]]内外で広く利用されるようになり現在に至る。Smalltalkシステムでは、通常の描画の他にも、タートルグラフィックス、あるいは、前のウインドウに隠れて一部しか見えていない裏のウインドウの内容更新などを行なう際などに活用された。なお、Altoではこれらの描画処理を、矩形領域の組み合わせ、かつ、ハードウエア処理の助けを借りて行なっていたのだが、それをデモで見せられた[[ビル・アトキンソン]]が勘違いして、不定形領域を対象にでき、しかもソフトウエアのみで行なっているものと誤解。その認識のまま、後に[[Lisa (コンピュータ)|Lisa]]や[[Macintosh]]でGUI描画の中核を担う[[QuickDraw]]として、ついに完成させてしまった逸話がある。 == 関連項目 == * [[ダブルバッファリング]] * [[スプライト]] * [[Direct Memory Access]] [[Category:プログラミング]] [[Category:コンピュータグラフィックス]] [[de:Bit blit]] [[en:Bit blit]] [[es:Bit blit]] [[fa:بیت بلیت]]
Bit Block Transfer
に戻る。
表示
本文
ノート
ソースを表示
履歴
個人用ツール
ログイン
ナビゲーション
メインページ
コミュニティ・ポータル
最近の出来事
最近更新したページ
おまかせ表示
ヘルプ
検索
ツールボックス
リンク元
リンク先の更新状況
特別ページ