3

単純なブロック回転アプリ (基本的には d3d11 Hello World!) を使用していますが、実行するたびに可聴ノイズが聞こえます。

コードをステップ実行して、ノイズを「発生」させる呼び出しを確認しようとしましたが、D3Dinit のいずれにもそれを見つけることができませんでした。

これは、初期化に使用しているコードです。

    HRESULT hr = D3D11CreateDevice(
        0,                 // default adapter
        md3dDriverType,
        0,                 // no software device
        createDeviceFlags, 
        0, 0,              // default feature level array
        D3D11_SDK_VERSION,
        &md3dDevice,
        &featureLevel,
        &md3dImmediateContext);

ここで、インターフェイスをアタッチしてスワップ バッファーを作成します (デバッグがオンの場合、HR() は HRESULTS を表示する単なるマクロであることに注意してください)。

    IDXGIDevice* dxgiDevice = 0;
HR(md3dDevice->QueryInterface(__uuidof(IDXGIDevice), (void**)&dxgiDevice));

IDXGIAdapter* dxgiAdapter = 0;
HR(dxgiDevice->GetParent(__uuidof(IDXGIAdapter), (void**)&dxgiAdapter));

IDXGIFactory* dxgiFactory = 0;
HR(dxgiAdapter->GetParent(__uuidof(IDXGIFactory), (void**)&dxgiFactory));

HR(dxgiFactory->CreateSwapChain(md3dDevice, &sd, &mSwapChain));

この可聴ノイズが発生する原因を知っている人はいますか?

4

1 に答える 1

2

フレームレートが非常に高い場合、一部のグラフィックカードでこれに気付きました。通常、vsync を有効にすると、この音はなくなります。

http://www.techpowerup.com/forums/threads/whine-from-gpu-under-high-frame-rate.157681/

動画では聞き取りにくいですが、目立ちます

http://www.youtube.com/watch?v=3ibkMvhMlgs

于 2014-01-03T23:43:32.577 に答える