Monthly Archives: 8月 2008

2008-08-31

アンチエイリアスありの円

前々から欲しいと思っていたアンチエイリアシング付きの円(塗りつぶし円、および任意の太さの境界線)を描画する処理を書いた。実際には円というより、角丸矩形が描きたかったんですけどね。

本来なら、汎用的なベクトルパス、多角形描画処理を用意するべきなんだろうけど(libartみたいな)、以前試験的に書いたのをこのためだけに引っ張り出してくるのも気が引けるし、円に特化したものの方が速いのは確かだろうし。

結局地道に円の境界線とピクセル矩形の交差面積を計算することにした。中点円アルゴリズムと(境界部分だけの)オーバーサンプリングという手もあるだろうけど、なんか気が進まなかったので。

探せばいいアルゴリズムがあるんだろうけど、このあたりのことって検索しても見つかる気がしない。

2008-08-30

Firefox3の終了時に出てくるダイアログ

いつの頃からか、ブラウザを閉じようとすると「開いているタブを保存して次回起動時に復元しますか?」というダイアログが出るようになったのだが、私はこのダイアログがちょっと苦手だ。そりゃ場合によっては復元して欲しいタブもあるだろう。でも、全部復元されたら鬱陶しいことこの上ない。「はい」「いいえ」「キャンセル」「次回からは確認しない」の選択だけで済むような問題ではないのだ。なので、このダイアログを出さない設定にする判断を今日まで保留していたのだが、今日少し考えた結果、後で見たいものはブックマークしておくべきで、閉じるときは全ていっぺんに閉じるべきだとの結論に至った。本来なら、「タブを保存して終了」という項目が「ファイル(F)」メニュー内にあるべきだし(Ctrl+クローズボタンとかで出来るとなお良い)、実際に復元するときには復元するタブを選べるようにすべきだ。そういう拡張は……探せばあるのかもね。

2008-08-30

読書スペース

本を読むのに最適なスペースってどこだろうと、常々考えていたんだけど、空いている電車の中というのはかなり理想に近い場所だと言うことに今日電車に乗ってさっき買ったばかりの本を読みながら思った。

外食系の店は店員の目が気になるし、ネットカフェ・漫画喫茶の類は漫画読みたくなるし、図書館もまあ似たようなもんだし、自宅なんて以ての外だし、会社も人の目があるし、わざわざ部屋を借りるのも不経済だし、その他屋根のない場所は天候の影響を受ける。

その点、電車は何が良いんだろうか。

  • 空調が効いている(蒸し暑いホームから涼しい車内へ入ったときの喜びを思い起こしてみてよ。本なんて何冊でも読めちゃいそうだよね)
  • みんな無関心(職員もあまり来ない。俺は自由だ!)
  • やれることが限られている(逃避の材料がない。というか、次の駅まで降りることすら出来ない)
  • 明るい(世にある一人になれるスペースというのは、なぜか薄暗い場所が多い。本は明るい場所で読んだ方が読みやすいよ)
  • 風景が良い(疲れたときに顔を上げると、そこには流れる景色があるわけだ。薄暗い図書館やネットカフェに籠もる図と比較してみてよ)
  • 一石二鳥感がある(移動しながらその合間に読んでいるという、時間を効率的に使っている時の喜びがある)
  • 席が低くて柔らかくて快適(寝てしまうこともあるくらい。そう考えると電車の椅子って良くできてるなぁ)

休日は大回り乗車で読書の旅なんてのはいかが?

2008-08-30

開明軒

最近聖蹟桜ヶ丘に行っていなかったので全然気がつかなかった。いや、何度か最近でも行ってるんだけどなぁ……。四月にオープンしたの?

手頃な値段(オムライス580円、オムライスとナポリタンとカツのセットで880円)、食券制の入りやすさ、狭いけど落ち着いた店内、過不足無いちょうど良いボリューム、メニューは少ないけど逆に全種食べてやろうと思わせられるのも良い。B館の洋食屋とか高いしね。こういう気軽な洋食屋はこのあたりではなかなか見かけないからなぁ。え、22時までやってるの?

2008-08-29

雷雨

午前2時頃だったと思う。強烈な光と音、そして扇風機とPC二台の停止とともに目が覚めた。外は豪雨。発光から雷鳴までは4秒程度だったと思う。

あわてて扇風機と録画用マシンの電源を入れて寝転がるが、録画用マシンは起動中に電源が落ちたらしくピッと鳴ってまた再起動してしまった。ちゃんと起動したことを確認して寝る。雷の光がまぶしい。室温は29.8度程度で窓が開けられないせいかこのところにしては少し暑い夜だった。

2008-08-27

sas5の内訳

以前からやってみたかったmapファイルの解析をしてみた。

約3.4Mバイト中、約1/3は低レベルな画像処理でしめられている。これは様々なピクセルフォーマット、合成モード、変形モード等の膨大な量の組み合わせによる。うまくまとめれば、それほど速度を落とさずに小さくできるかもしれないけど、正直やる気がしない。

そして意外に大きいのがアプリケーションクラス周辺で372552バイト。これはよくよく調べてみると、テンプレートとマクロで必要な部品をコンパイル時にのり付けする仕組み(ある種の型リスト)が結構大きかった。というか、無駄にvirtualが付いているせいで、RTTIデータがひどいことになってる。virtualを消しただけで200k以上減った。後は細かい初期化に必要なコードがそこそこと、shared_ptrがらみの細々としたのが塵も積もればで意外と大きい。

sas5lib全体では791096バイト。まあ、これは色々入ってるので、大きくても仕方ないところ。

あとライブラリ単位で言うと、kuiが288428バイト、vorbis_staticが124864バイト、残りは数十k台。kuiは色々出来が悪いライブラリなので仕方ない(ぉ。不満があるなら作り直すしか無かろう。

コンパイルオプションをサイズ優先にするとだいぶ違うのではないかと思う。