• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:GetGlyphOutline() 等で「文字列」を書き出す方法を・・)

GetGlyphOutline()関数を使用して文字列を書き出す方法

このQ&Aのポイント
  • ゲーム開発でキャラクターやモンスターの名前を表示したい場合、GetGlyphOutline()関数を使用できます。
  • しかし、1つのBYTE*の受け皿にvectorから流し込んで描画しているため、メモリの書き出しに時間がかかっています。
  • より効率的な方法を見つけるために、BYTE*データを直接扱ったり、文字数を制限したりすることができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLK314
  • ベストアンサー率55% (84/152)
回答No.1

別にBYTEだって配列にできます。 上限が分かっていて、ヒープに余裕があるなら BYTE* buf = new BYTE[1024 * 1024] とかして 使い終わったら delete[] buf すればよいと思います。 vectorはわずらわしいメモリ管理から解放されて 私も大好きなのですが、 万能ではありません。 処理系(特にオプティマイザ)、STLの実装にも依りますが、 大量のデータを扱う時にはオーバーヘッドが大きいようです。 私の経験ですが vector<double> で8192個のデータを削除した時と 自前のdouble配列でmemmove()した時では 速度に驚くほど差が出たことを覚えています。 (CPU速度等の影響も大きいですが) 今回の場合 vectorよりもBYTE配列で実装するほうが向いていると思います。

zaxs5968
質問者

お礼

BYTEも配列に出来たのですね、 vector についても為になる情報ありがとうございます。 なるべく利用は控えようと思います。 しかしBYTEの配列の使い方がよくわからず困っています、 検索もカタカナのバイトに引っかかり関係ないものばかり、 今後もファイル操作?等で頻繁にお世話になりそうですし、 もしBYTEについて説明しているサイトをご存知でしたら、 教えて頂けると幸いです っ_ _)っ ご回答、有難うございました

関連するQ&A