>オフスクリーンサーフェスへのデータの読み込みについて入力中の回答があります。ページを離れますか?※ページを離れると、回答が消えてしまいますページを離れるA回答を続ける入力中のお礼があります。13:58回答数:1件VisualC++6.0とDirectX7.0を使って、RPGを作っています。マップチップ等のグラフィックデータを、実行時にビットマップファイルから読み込んでいるんですが、ここで疑問がわきました。プライマリサーフェスのビット深度は16(HighColor相当)に設定しているんですが、ビットマップファイル中のデータはビット深度8(256色)で作成しています。元データのデータ量を小さくするためにそうしているんですが、これってプログラムを走らせたときのメモリ使用量や実行速度に影響があるんでしょうか。ちなみにビットマップファイルからオフスクリーンサーフェスへの読み込みには、API(GetDC)を使ってDCを取得した後、同じ大きさで作ったオフスクリーンサーフェスにブリット転送する方法をとっています(一般的な方法だと思うんですが...)。通報するこの質問への回答は締め切られました。01:28OpenGLユーザですが僭越ながら。ご質問の内容は、「ファイルからCPUメモリにビットマップデータを読み込んで、ビデオメモリに転送する。そのときに、ファイルとCPUメモリでは8BitPerPixelだけど、ビデオメモリは16bppである。メモリ使用量と処理速度への影響は?」ということですよね。つまらない回答ですが、コードと環境に依存する、としか言えないような気がしますが...。明らかにCPUメモリからビデオメモリに転送する際にデータ形式が異なって(8bppと16bpp)いれば、変換作業が必要になり、原理的に速度は低下しますよね。(手もとのOpenGLハンドブックでピクセル転送を最適化する方法の一つに、データ変換が無いようにするというのがあります)しかし、当然データ量が増えればCPUメモリからビデオメモリへの転送に時間がかかり、また、ファイルからCPUメモリへの読み込みにも時間がかかります。その辺の速度とデータサイズ、読み込み・転送の発生頻度を勘案して、適当な方法を考える、としか言えないと思います。直後に行なうので、できるだけ速い方が良いという理由から、24bppをそのままCPUメモリへ転送し、ファイルへ書き出すという方法を取りました。それが本当に良かったのかは分りません。動いたため、他のデータ形式をためさなかったんで。丁寧な解説ありがとうございます。基本的には元データが小さい→メモリ使用量が減るデータ変換が必要ない→転送速度が上がるという均衡関係にある、ということなんですね。回答数ランキングです。・本当は知りたい、発毛体験のあれこれ。恋愛からビジネスまで人気の記事が一目で分かる今読むべき記事はコレ!貴社サイトにQ&Aを!QAコネクトとは・・?QA機能を導入できます利用料0円。Inc.質問して、直接聞いてみよう!Q質問する(無料)Q&A検索goo検索gooIDで新規登録・ログイン新規登録する(無料)会員の方はこちら外部サービスのアカウントで新規登録・ログインYahoo!で新規登録・ログインGoogleで新規登録・ログインTwitterで新規登録・ログインFacebookで新規登録・ログイン※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。会員でない方、会員になるとあなたも質問や回答ができるようになります!!親切・丁寧な回答が集まる場30分以内に回答がもらえ回答数は平均3件!匿名(ニックネーム)での投稿なので。