我有一个简单的块旋转应用程序(基本上是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));
有谁知道会导致这种可听噪音的发生?
答案 0 :(得分:2)
当帧速率非常高时,我在某些显卡上发现了这一点。启用vsync通常可以摆脱这种声音。
http://www.techpowerup.com/forums/threads/whine-from-gpu-under-high-frame-rate.157681/
很难在视频中听到但是很明显