10/06/20 00:00:24 Uf5j3jVV
コテつけたわ
>>408
> シーケンシャルで100MB/Sec
>>406で書いた書き込み動作は、そのシーケンシャルアクセスするはずの動画ファイルでも起きうる。
アプリケーションソフトが4kB単位でファイルに書き込んでくれればいいが、
大容量メモリが常識の今では、ソフトウェアがバッファサイズなど考慮する必要がない。
だから、細切れにデータを出力するはず。その方がシンプルな上、メモリを効率的に使えるから。
動画ファイルをこんな風に間を空けて書き込んだとする。
■■■ ■■■ ■■■■■■■■■ ■■■ ■
しかし、キャッシュメモリがあるので、ある程度まとまってから書き込まれる。
だが、いつまでも待ってくれるわけじゃない。
たとえば|でキャッシュを吐き出すとする
■■■ ■■■ ■■■■■■■■■|■■■ ■|
すると、こんな風に2回に分けて書き込まれる。
..■■■■■■■■■■■■■■■□ (□はディスクから読み出したデータ)
┗━━━━┻━━━━┻━━━━┻
..________□□□□□□□■■■■□□□□□
┗━━━━┻━━━━┻━━━━┻
上記グラフでは2回目の書き込みも連続しているが、もし断片化していたら
2箇所で読み書きしなければならない。
同時に複数録画するようなことをやっていると必ず断片化するから、それはもうひどいことに・・・
OSがクラスタサイズでデータを吐き出してくれればいいが、
WindowsXPでは512バイト単位で吐き出してしまう。
Windows7でも嘘の申告されると偽の物理セクタサイズで書き込むらしい。