日記移転先(゜▽゜)

という名前の適当な日記ブログ


| Home | Index | Links | About |

Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

C#のDrawStringのAntiAlias


んでまた最近C#で色々遊んでたりする。

Aero GlassなFormでCGビュワ作ってアルファ付きのpngなんかを表示させると面白い感じに。
後ろは何かしらアレなんですが(どうアレなのかはこの辺とか)。
手前のUbuntuたんは特に意味はない=)


いろいろ遊んでC#楽ぅ~とC#やっぱり使えねぇ~を往復しながら最近はGDI+での文字描画辺りで停滞中。
ClearTypeフォント以外でもまともに見るならTextRenderingHintをAntiAliasで描きたいがやはり遅い。
遅いというか変な速度の落ち方するので速度検証のForm書いたら更によくわからない事に(´ρ`)
適当なので根本的な部分で間違ってる可能性もあるが以下な結果に。
MS Pゴシック
メイリオ

表示に使った文字列は日本語フォントなのでCP932をずらしながら表示。
時間がかかって面倒なので一度にずらす量は32文字程(⅓区)。
背景の色変化は第一水準より前、第一水準、第二水準、95区以降、ループ回数、で変化。
青線がウインドウ1枚辺りの更新でかかったmsec。赤は累積時間の割合。
描画はBitmap上に描いてダブルバッファ化のPanel上に描画。

上グラフの左はMSPゴシック、右がメイリオ。
頭部分が妙に速いという点(後述)を除くとCP932をずらしながら表示している為
漢字が多い部分で描画時間が増加。CP932の収録通り頭の記号部分が速くて後ろは
NEC選定やIBM拡張前後の空きや外字部分で速くなってます。
画面を埋める程でもない量なのに最大200ms…(;´Д`)

HG正楷書体-PRO
同左、Bitmap再利用

(ちと古めの)Office付属のHG正楷書体-PROだと更に遅い。400ms超え。
うーん、こういうフォントを沢山使いたいのだがなあ(´・ω・`)
で上図の右は1行分の文字描画以外は前回描画のBitmapから再利用。
これだと40msで25fpsくらいに。

花園明朝A
M+ 2p medium

花園明朝だと速度が落ち始めるまでの時間が長い。謎。
M+ 2pフォントは第一水準より第二水準の方が少し速い謎結果だが収録の曲線数の違い?

nukamiso、ループ回数1024

上でも書いた最初だけ速いという現象。
ループ回数を増やすと2回目以降には現れない模様。画像は作ってないけど再実行しても連続実行しても同じ。
プログラム起動後にそのフォントを最初に使う時だけ速い。
実行ファイル単位でベジェ曲線か何かをキャッシュしてるとか?
フレーム間で使う文字の違いは1行分のみなので通常部分(?)で文字の密度が大きく違う領域への境界
辺りは処理時間が緩やかに変化しているが最初だけ速い-途中で起きる速度変化は即切り替わってます。
多くが第二水準の終わりにかけてじわじわ処理時間が伸びてるのはなんだろう?
第二水準は画数順だから単純に線の描画にかかる時間の増加?

キャッシュされてるから速いのかキャッシュが溢れてないから速いのかよくわかりませんが
はっきりと現れてる現象なのにググってもこの辺でてこないのは何故(?_?;
結局実用外の速度で限界だから誰も使ってないとか…?
若しくは何か根本的に間違った組み方してるせいなのかとも不安になる(゜д゜;
#勘違いなエントリ書いてしまう方面的な意味で(゜д゜;


#最初に書いたアレと絡めるつもりは無かったが絡んでしまったlol



新規
←管理者にだけ表示する場合チェック



トラックバック用URL:
http://r2089.blog36.fc2.com/tb.php/154-f850da71

Appendix

profile

那駕〇

Author:那駕〇

recent entries

アクセスの多い記事

過去の記事


義援金募集

FC2「東北地方太平洋沖地震」義援金募集につきまして

ブロとも申請フォーム

この人とブロともになる

カウンタ

※ここより下の部分に掲示板とかまとめとかいうリンクがあってもそれはfc2blogの広告なので当blog内コンテンツではないです(゜д゜)
まとめ
....
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。