« SUNQパス | メイン | 北部九州遠征〜(1)久々の別府温泉 »

2006年10月20日

FSディザリング on gdlib

出陣。gd2.0.xの高速化実装。プロファイラgprofを使ってどの関数が遅い(時間がかかる)のか調査。まずはlibpng内のPNG画像生成部門が遅いようだ。ついでフルカラー(TrueColor)をパレットカラー(256色)に減食する処理が遅いようだ。 libpngはいじらないほうがよさそうなのでひとまずペンディングとし、gdライブラリのgdtopal.cのFSディザリング処理をチューニング。

 その後、FSディザ以外に選択肢はないのか調べたところ、同ディザリング処理をしない方法(ノーマル?)もあるようだ。デフォルトではFSになっている。コードを書き換えてみた。PNGのほか従来のGIFでも出力させたが、FSに比べ、色の拡散が少ないのできれいに見える。 問題は減色時にオリジナルのRGB値を尊重してくれないことが多いことだ。微妙にRGB値が変わってしまう。かといってパレットを使いきったわけでもない。これはいったいどういうことだろうか。

 しばし考えた末、あらかじめメジャーな(使うことが明らかな定義済みの色)色は、減色に先駆けて割り当ててしまい、優先的にその色を使うように改修してみた。gdライブラリのヘッダgd.hに別途パレット領域を追加。数種類のRGBを固定で割当るよう実験的コーディングを行い、試してみたところ、期待通り色が割り当てられた。 減色ルールにかんしてはこの手法は使えそうである。 あいかわらず全体として処理が遅いのがネックである。


にほんブログ村 旅行ブログ 旅行ガイド・プランへ

【他の年の本日の日誌】
2007:
温泉情報自動提供 今週もお出かけしない週末。 Googleニュースのアラートメールから自動的に掲示板に書き込むスクリプトを作成。試運転ののち、即日リリース。2005年に手編集で一時的に運用していたが、いわゆる3日坊主で頓挫していた次第。 これからは毎日自動的...
2005:
B人去る/fly改/GooglePageRank  今日も出陣。 引き続き新システム検証(SD)。 今日は問題はなく、夕刻さて切り替えだ、という段で他案件で検証していないことがわかり、明日以降に仕切り直しとなった。 今回のバージョンアップはかなり広い範囲に影響していることがよくわかった。そ...
2004:
台風で帰宅指示 出陣。 滞りなく仕事をしていたが、18:00台風接近により、上層部より帰宅指示が出た。18:30 脱出。 品川駅につくと、京急の列車案内表示が、京急川崎行きとなっていた。生麦ー京急新子安で人身事故があったそうだ。なにもこんなときに飛び込まな...
2003:
欧州遠征(4)〜ミュンヘンへ移動 6:30起床 7:00朝食 妻がオムレツをいただく。おすそわけをもらう。 8:10出発 荷物はまだ部屋に置いておく。12:00のチェックアウトを確認して宿を出る。 平日朝のためか人通り少ない。 8:50旧市街広場 9:00のからくり時計に間...
2002:
青森遠征(2)  7:30朝食を1F広間で食う。シンプルだが結構いける。温泉玉子つき。 今日は温泉取材メインだ。大湯のストーンサークルを見学し、大館駅前の花善で「鶏めし弁当」を購入(深浦付近で防波堤に腰掛けて海を見ながら食った)し、7号線を東へ進み、能代よ...
2001:
散歩  今日は大阪へ行く予定だったが、歯医者の予約が入ったため、残念ながら中止。気分転換に行きたかったのだが残念だ。 今日はもっぱら温泉コンテンツの整備にいそしむ。14:45歯医者。今日は前日入れた詰め物の本充填だ。 事無く終了。 終了後、妻と関...

投稿者 onsenfan [ プログラミング ] : 2006年10月20日 23:48

この記事が役に立った/おもしろいと思ったら、ワンクリックで応援お願いします

トラックバック

このエントリーのトラックバックURL:
http://blog.odorokutamegoro.com/cgi-bin/mt/mt-tb.cgi/1605_3851852663360

コメント

コメントしてください




保存しますか?



ジオターゲティング
counter
2