OS自作入門-10日目

朝起きたら、体中が痛かった。
両腕と首以外が筋肉痛。。。今日来てくれたことは嬉しいけども。
予想通り、足腰らへんは歩くのが億劫になるほどだった。
やっぱ定期的に運動せなあかんな〜。


そんなこんなで、OS自作入門も10日目。
今日のタイトルは「重ね合わせ処理」
昨日に引き続き、シンプルなタイトルで良し。


ごにょごにょごにょ。。。例によってリファクタリング
なんかメモリを1バイトずつ確保したり、解放したりしてると、
連続しない小さな空きがたくさん出来てしまうと言われているらしい。
これを4kごとに取得と解放を行うものを追加。


で、今日のメインになる重ね合わせ処理。
これは考え自体は非常に簡単で、画像処理ソフトのレイヤーを思い浮かべればOK。
画面上にぺたぺたとレイヤーを重ねていくことで、画面を作成する。
この時にちゃんとレイヤーを上げたり(前面へ)下げたり(背面へ)出来るように関数を作っておく。


うーん。ここで著者は画面のチラつきと動作の遅さにリファクタリングをかけるみたい。
私の環境では発生してないから良く分からん。。。低スペックだと起こるのかな?


重ね合わせの処理で、今までは画面全体を書き換えてたんだけど、
今度は書き換える範囲だけを書き換える方法に出る。
これはアルゴリズムが難しくなりそう。。。きゃーーー!!
私の頭では2重ループまでしか処理でけんのだけど、3重以上のループがあった。
理解でけへんよーーーー。まぁ理論は分かるし、考えも分かる。動作も分かる。
でも、その処理は分からん。


んー、思った。
どうも私はプログラミングの職業には向いてないんじゃないのか?!
え?今更だって?学生の時のプログラマーバイトで気付いとけって?
まぁいいさね。人間向き不向きはあるものさ。。。グスン
確かにね。私はね。作るよりも壊す方が好きさーー!!!


っは、いかんいかん。
んで、レイヤーの書き換え範囲を算出して、
そこだけレイヤーを書き換える処理を追加〜。(著者がね)
で、実際に動かしてみるも。。。やっぱり違いがわかりまへん。
んーまぁ軽いOSを目指す著者としては譲れない線なのかな。
リファクタリングのほとんどが高速化と軽量化だしな〜。



んっと思ったら今日はここで終いだ。
明日からまた仕事か〜。。。仕事は早く帰るってことだけ、ガンバロ〜。