OS自作入門-11日目

いきなりですが、靴です。
まぁ何があったかは実録をば。。。


朝起きて、出社するときに下駄箱を見たら。。。あれ?
なんか緑がかってるな〜まぁいいや。履いてこ。
ほ〜今日はいい天気だな。太陽光がまぶしいや。
トコトコトコ。。。
ん?。。。ってなんじゃこりゃーーー!!!
自分の足元を見ると、太陽光を照らし返す輝ける緑が!!!
もしかしてカビ?っすかね。


そんな分けで、今日のタイトルは「ついにウィンドウ」


いいねぇ〜来たね〜。
つ・い・に!!ウィンドウ!!
昨日にレイヤー(著者は下敷きと言ってる)の仕組みが完成したので来るだろうと思ってた。
やっほ〜う。毎度お馴染みのリファクタリングもかっかってこいやーーー!!


ふむ、実に地味に鮮やかに画面外描画をサポートしてる。。。恐るべし。
そんなとこはTOPギアで通過する。
まぁウィンドウと大げさにいってみても、レイヤーの上にそれっぽい絵を書くってこと!
わっかるっかな、わっかるっかな、はてさてほほ〜〜。
こんなんでました。



さてさて、次は何か動きのあるものが作りたい?ってことなので、カウンタ〜。
いやーしかし、メモリか何かをカウントするもんだとばっかり思ってたら、
普通にカウンタ変数を回して、それを表示させてるだけだった。


メモリをカウントしてるとばっかり思って、ずっと走らせてた私の気持ちを踏みにじったな!!
イエ、ダレモフミニジッテマセンカラ


(その前に、ソース読めよってことだね)


で、異様にちらつく。
ソースを見ると変数が1変わるごとに書き換えてる。
そりゃ、チラつくわ。
ここで著者の凄いところが、表示回数を減らすんじゃなくて書き換える範囲を狭めるんだよ。
私なら100%描画回数を減らすね。。。ダッテラクナンダモン


背景とWindowの書き換えを分けて、ついでにその上のレイヤー部分にもそれを作りこんで。
。。。ん?いや違うな。
画面上のマップ(VRAMと同じメモリサイズ)を用意してどこの部分がどのレイヤーかを保持する。

     0000000000000000
     0000000000000000
     0000000000000000
     000000000001111111111111
     000000000001111111111111
     000000000001111111111111
   2222222222222222222111111111
   2222222222222222222111111111
   2222222222222222222111111111
   2222222222222222222111111111
   2222222222222222222111111111
   2222222222222222222
   2222222222222222222


こんな感じ。
このマップを見ながら、書き換える領域が重なってるところ。
そこはレイヤー全部を書き換えなくとも1番上だけ書き換えれば良い。
ってな考えでいくみたい。賢いな〜。えらいな〜。



私なら。。。
ダブルバッファを利用して解決するぐらいしか思いつかない。
ああ、でもこの場合この技も使えないのか。。。VRAMに直で書いてるもんな〜。
むむむ。。。なら、描画を上のレイヤーから行って、すでに書き込んでるところは変更しない。
ってのはどうだ!!!つまり下のレイヤーに行くほど再描画が少なくなる。
ん〜。どうだろ。駄目か。。。がくっ。


んぉ。今日は終わりか。。。なんか最近1日が短いな。(OS自作入門の中ね)
まぁまったりと、明日もガンバロ〜。


PS:冒頭の続き。。
靴がやばそうなので、仕事の帰りに靴屋を物色。
ん〜どうせ職場でしかはかんから安い奴安い奴。。。
!!!2千円の靴発見!!
どうやら、微妙ブランドの工場検定に引っかかった奴らしい。
若干の傷とか、ミスとかそんなので微妙ブランドを名乗れなかった靴が置いてあった。(店員談)
コンビニ弁当で賞味期限切れ5分品と似たようなものか!!




























ゼンゼンチガイマスカラ!!
チャンチャン。