Re: キャッシュできない量のテキスト描画について ( No.1 ) |
- 名前:名無三 日時:2023/11/06 13:05
横からですいません、それってDrawStringToHandleを60回呼ぶだけでそんなに時間を食ったという事でしょうか?
自環境では特にそのような事象が発生しなかったので気になりました…
(キャッシュの数を増やすのはSetFontCacheCharNumがありそうです)
|
Re: キャッシュできない量のテキスト描画について ( No.2 ) |
- 名前:Ketty 日時:2023/11/06 13:21
こんにちは(^^) 私も横からになりますがご参考までにお伝えします。
CreateFontToHandle でフォントハンドルを作成する前に、作成するフォントハンドルが
何文字までキャッシュできるようにするかを指定するための関数として、
SetFontCacheCharNumというのが用意されています。
使い方などは下記スレッドをご参考ください。
https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=3949
あと、文字列を画像ハンドルにする方法は、下記ブログ様に紹介されています。
https://krustf.hateblo.jp/entry/20100808/1281213402
|
Re: キャッシュできない量のテキスト描画について ( No.3 ) |
- 名前:32Ryo(解決) 日時:2023/11/06 17:09
名無三さん、Kettyさん、ご返信ありがとうございます。
> (キャッシュの数を増やすのはSetFontCacheCharNumがありそうです)
> CreateFontToHandle でフォントハンドルを作成する前に、作成するフォントハンドルが何文字までキャッシュできるようにするかを指定するための関数として、
SetFontCacheCharNumというのが用意されています。
SetFontCacheCharNum関数は使用していましたが、どうやらフォントハンドル作成した"後"にSetFontCacheCharNum関数を呼び出していた点が原因のようです。
作成前に呼び出したところ、描画処理が1ms未満で完了するようになりました。
> あと、文字列を画像ハンドルにする方法は、下記ブログ様に紹介されています。
参考リンクありがとうございます。BltStringSoftImageToHandleという関数があるんですね…
[Dxlib テキスト 画像化]のように検索しても、それっぽい関数が出てこなかったので勉強になりました。
お二方ともご協力ありがとうございました。
|