(TechnicalNote) Image cache on VRAM
実装
通常のdraw()命令
キャッシュのない通常の状態では、draw命令を実行すると、メインメモリのビットマップからVRAMへの転送、表示が同時に実行されます。 | ![]() |
キャッシュモードとdraw()命令
cache()を実行すると、ImageのビットマップデータをVRAMに転送してキャッシュし、キャッシュモードに切り替えます。 | ![]() |
cacheモードではdraw()を実行するとVRAMキャッシュから画面に転送されます。 | ![]() |
キャッシュモードで編集を行うには
cacheモードで編集をおこっなった場合、メインメモリ上のビットマップは編集されますが、VRAMには転送されません。このため、編集してもdraw()では反映されません。 | ![]() |
cacheモードのImageにさらにcache()を行うと、内容を更新します。 | ![]() |
キャッシュモードを解除するには
キャッシュモードはquicken(false)で解除できます。
使用上の注意
- Windowsでは、OpenGLとDirectXの規格への準拠度が低い場合、黒い枠線が表示されることがあります。このような場合は、Imageの高さと幅を2のn乗(32,64,128,256...)にそろえると正しく機能します。
- キャッシュモードではImageに対する編集がすぐには反映されません。編集を反映するには、編集終了後にもう一度cache()を実行する必要があります。
- キャッシュでの制限はビットマップの編集のみに関わります。centering(), shift()などは影響を受けません。
- VRAMの容量の限界までしか保存することが出来ません。
- 使用するメモリは幅*高さ*ビット深度で、例えば100*100*RGBAの場合は1枚あたり40kB必要になります。
- VRAMの容量はお使いのビデオカードの設定でご確認ください。
- VRAMは通常表示用のバッファが標準で10MB程度使用されています。
キーワード:
参照:[Image]