掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
描画を高速に行うには (ID:51644)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ENV : Win2000SP3 VC6SP4 SDK NoneDirectX こんにちは<m(__)m> 早速ではありますが、質問をさせていただきます。 セカンダリサーフェスからプライマリサーフェスへの転送がとても 遅く感じられます。 どのような方策をとれば描画を素早く転送できるのでしょうか? 尚、画面とセカンダリサーフェスは32bitです。 まず、BitBlt、StretchDIBits、SetDIBitsToDevice、 StretchBlt等を使用し1000回セカンダリからプライマリへ描画 を3回行い平均を求めたところ、目立った数値はありませんでした。 次にバックサーフェス同士の転送を行ったところ前述の実験と比べ たところ転送速度に2倍の差が現れました。 なぜ、このような差が反映されるのでしょうか? やはり、バスの帯域やVRAM・メモリ間の遅延が関係しているの でしょうか?しかし、それであっても上記二つの数値は同じになる はずなのです・・・ 現在、Meimi等のリアルタイムでのエフェクトを掛けながら再 生するアプリケーションを作成しております。 しかし、画面への転送がボトルネックになり、滑らかな描画が出来 ません。 他にどのような方法をとれば転送速度を向上させることが出来るの でしょうか? 皆様のお力添えを得たくここに書き込ませていただきます、宜しく お願いいたします。 hDCP = GetDC(hWND) // プライマリ(ウインドウ) hDCS1 = CreateDC(...) // セカンダリ1 hDCS2 = CreateDC(...) // セカンダリ2 # ウインドウへの転送 FOR I = 0 TO 1000 BitBlt(hDCP , hDCS1); NEXT I # セカンダリ同士の転送 FOR I = 0 TO 1000 BitBlt(hDC1 , hDC2); NEXT I
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.