No.3ベストアンサー
- 回答日時:
お礼ありがとうございます。
再度No.2です。「速度」ですか・・・そうですねぇ・・個人的にはデバック用に用意したコードに
そこまで速度を求めてどうするのか?とも思ったりしますが、私個人の指針を
とりあえずあげてみます。
まずたとえデバックコードだろうが絶対速度が欲しい!!というのなら、ビデオメモリに
必要となる文字をあらかじめ描画しておき、表示するときはそれを使用して表示する
方法があります。基本的には半角の a~z A~Z 0~9 と一部の記号があればデバック用なら
事足りるハズです。準備する方法が分からないなら、あらかじめ画像を用意するのが早いです。
問題があるとすれば、用意した分の文字しか使えない点でしょうか?
デバック用に使用する文字コードを任意の転送元座標に変換するのは半角文字だけなら
変換テーブルを作成すれば割とすんなりいくかと思います。
後は文字列を描画する方法ですが、文字に限らず、各サーフェス(テクスチャ?)に対して
GDIで描画する必要がある場合、一回の描画ループで何回もGDI関数を使用しない方向に
持っていくのがキモです。つまり、D3DXFont を使用する場合、いくらデバック用だからって
何回も DrawText() メソッドを使用したら、そりゃその分だけ速度が落ちていきます。
あらかじめデバック用の表示文字列を、文字列バッファとして保持しておいて、
画面に転送する直前にDrawText()一回で全デバック文字を描画してしまうのが、
速度的にも負担は最小で済むはずです。
あくまで私個人の・・・ではありますが、2通り概念だけ説明してみました。
コレを鵜呑みにするもしないも、実際どう作るのかどうかも後は貴方次第
ということでいかがでしょうか?
2度もご回答感謝します。確かに考えてみれば、速度はそこまで必要ありませんよね。
提案された方法ですが、非常に参考になりました。
今回は手っ取り早くD3DXFontでやってみます。
ありがとうございました。
No.2
- 回答日時:
float型を文字列にするにはNo1番さんの回答でいいと思います。
後は描画方法ですが、いくつかあります。参考URLをどうぞ
個人的なオススメは D3DXFont を利用することです。
sprintfで表示する文字列を作成したのちに、D3DXFontで表示する。
あくまでデバック用途なら、おそらくコレが一番手っ取り早いです。
参考URL:http://www.c3.club.kyutech.ac.jp/~sukiyaki/index …
ご回答感謝いたします。そのサイトを見て作成していたのですが、実行速度が遅くデバック向きではないのかと思い、質問させていただきました。言葉足らずで申し訳ございません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 11:41
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/15 08:30
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 10:07
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Visual Basic(VBA) Excel VBA で End Subのところで「型が一致しません」のエラーとなります。 6 2022/07/27 19:58
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PCで「使用可能な場合はグラフ...
-
TextBoxに文字を書いても表示さ...
-
NVIDIAのシェーダーキャッシュ
-
[VB.net] DataGridViewの列ヘッ...
-
VB6のform Load
-
FlexGridの一部のみ表示を更新...
-
LineToやMoveToにて描画した線...
-
画像を重ねて動かすと重くなり...
-
Pythonによる物理の斜方投射の...
-
C++Builder6の複写で教えて下さい
-
最前面に無理やりフォームを持...
-
ClistBoxでオーナードローがよ...
-
当たり判定
-
【VC2008】色反転破線の書き方
-
GDIからDirectXへの移行
-
GetGlyphOutline() ご利用経験...
-
Form1 Load で実行されない。
-
panelのスクロール表示について
-
MFC FormViewの背景色
-
陰関数のグラフを表示させるには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6,リストボックスの特定行の...
-
[VB.net] DataGridViewの列ヘッ...
-
NVIDIAのシェーダーキャッシュ
-
MFCでOnPaintのタイミング
-
TextBoxに文字を書いても表示さ...
-
word
-
UpdateData( FALSE); による文...
-
VC++プログラムをつかったBMP画...
-
InvalidateRectの使い方について
-
OneNote 2010 文字と描画がずれる
-
StretchBlt関数について
-
C# ラバーバンドの描画を快適に...
-
エクセルでガンチャートを作成...
-
C++にて、塗りつぶされた円を描...
-
VBAにGDI+を参照させる方法
-
GDI+で高速な描画
-
MFC DrawText 背景色とフォント
-
FlexGridの一部のみ表示を更新...
-
MFCのタイマーのつかい方を教え...
-
Labelの文字をスクロールする際...
おすすめ情報