SDL_kanjiのベンチマーク結果
2005年11月17日
とりあえず、SDL_kanjiのベンチもやってみた(SDL_kanjiのSJIS->JIS変換にバグがあって、回避するのが大変だった)。
今回は、
1.フォントサイズは16
2.N=1000
3.AthlonXP2000+の環境で、SDL_ttfの結果と比較
4.レンダリング先サーフェースは32bpp
とした。
とりあえず、結果からはSDL_kanjiは、SDL_ttfよりもレンダリング済みフォントの生成速度はほとんど同じ(大体5us程度の違いしかない)。
自分は、レンダリング済みフォントの方がサーフェース生成のための速度は速いんじゃないのかと思っていたが、意外とそうでもなかった。
多分、ベクタデータがレンダリング済みフォントのデータよりも容量が小さいため、メモリへの読み取りアクセス数がレンダリング済みフォントデータの時よりも減り、ベクトルデータをラスタライズする処理とレンダリング済みフォントデータを読み込む処理に掛かる時間が相殺した結果、ほぼ等しい処理時間になったんじゃないかと思う。
SDL_kanjiはSJISの変換には問題があることが露呈したので、それが修正されない限りは使うのは控えた方が良いかもしれない(ただ、半角カナ文字や一部のSJISコードを使わなければ通常の文字表示なら実用に耐える)。
個人的には、BDFよりもTTFやOTFの方が扱いが楽だし、安定性やサポートもSDL_ttfの方が良いからSDL_ttfを推すけど、まぁ使いやすい方を使えばそれでよいかと思う。
今回は、
1.フォントサイズは16
2.N=1000
3.AthlonXP2000+の環境で、SDL_ttfの結果と比較
4.レンダリング先サーフェースは32bpp
とした。
とりあえず、結果からはSDL_kanjiは、SDL_ttfよりもレンダリング済みフォントの生成速度はほとんど同じ(大体5us程度の違いしかない)。
自分は、レンダリング済みフォントの方がサーフェース生成のための速度は速いんじゃないのかと思っていたが、意外とそうでもなかった。
多分、ベクタデータがレンダリング済みフォントのデータよりも容量が小さいため、メモリへの読み取りアクセス数がレンダリング済みフォントデータの時よりも減り、ベクトルデータをラスタライズする処理とレンダリング済みフォントデータを読み込む処理に掛かる時間が相殺した結果、ほぼ等しい処理時間になったんじゃないかと思う。
SDL_kanjiはSJISの変換には問題があることが露呈したので、それが修正されない限りは使うのは控えた方が良いかもしれない(ただ、半角カナ文字や一部のSJISコードを使わなければ通常の文字表示なら実用に耐える)。
個人的には、BDFよりもTTFやOTFの方が扱いが楽だし、安定性やサポートもSDL_ttfの方が良いからSDL_ttfを推すけど、まぁ使いやすい方を使えばそれでよいかと思う。
コメント