DirectX8でフルスクリーンモードになる時の黒味を無くすには?


やぎ  2005-09-08 09:40:39  No: 92105

始めまして。
DirectX Graphicsについて質問させてください。
今、Pictureboxで画像を表示させ、ネットワークでコマンドが来ると、
DirectX Graphicsを使ってフルスクリーンモードで画面を色変わりさせ、
またコマンドで元のPictureboxを表示させるプログラムを作っています。

チラつきを無くしたいが為にDirectXを使ったのですが、Direct3Dデバイスを生成した所で画面がほんの一瞬ですが黒味になってしまいます。
途中、待ち時間を入れてみた所、

'====================================================================
'Direct3D初期化処理
'====================================================================
Private Sub InitD3D()
    
On Error Resume Next 'エラーの場合次の行から再開

'変数の宣言
Dim D3DDM As D3DDISPLAYMODE     'ディスプレイ・モード格納構造体
Dim D3DPP As D3DPRESENT_PARAMETERS'ディスプレイ・パラメータ格納構造体

    'オブジェクトの生成
    Set D3D = DX.Direct3DCreate()       'Direct3Dシステム生成

        'プレゼンテーション・パラメータの設定
        D3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, D3DDM
        'ディスプレイ・モードを取得
        With D3DPP      'プレゼンテーション・パラメータに関する設定
            .Windowed = False    'ウインドウ・モード
            .SwapEffect = D3DSWAPEFFECT_COPY_VSYNC '画面の更新方法
            .BackBufferFormat = D3DDM.Format 'ディスプレイのフォーマット
            .BackBufferHeight = D3DDM.height
            .BackBufferWidth = D3DDM.width
        End With

    wait 3000  −−−−ここでは黒味になってない

    'Direct3Dデバイスの生成
    Set D3DDevice = D3D.CreateDevice(D3DADAPTER_DEFAULT, _
                        D3DDEVTYPE_HAL, Me.hwnd, _
                        D3DCREATE_SOFTWARE_VERTEXPROCESSING, D3DPP)
                                
    wait 3000  −−−−ここで黒味になっている!
                
    If D3DDevice Is Nothing Then        'Direct3Dデバイスが生成されない場合
        Set D3DDevice = D3D.CreateDevice(D3DADAPTER_DEFAULT, _
                        D3DDEVTYPE_REF, Me.hwnd, _
                        D3DCREATE_SOFTWARE_VERTEXPROCESSING, D3DPP)
        If D3DDevice Is Nothing Then    'Direct3Dデバイスが生成されない場合は処理を終了
                        
            Call ReleaseObject        '解放処理
            End                       'プログラムの終了
        End If
    End If
    
End Sub

というところまでは判ったのですが、これをどうすれば回避できるのかが解りません。
回避方法、ヒントがあれば宜しく御教授ください。
宜しくお願いします。

開発環境:WinXP  VB6(SP6)  DirectX8.0SDK
ちなみにProg使用環境  Win2000  SDK無  です。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加