最近Cudaを始め、サンプルを勉強しました。私はやや奇妙なことを見つけた。DirectXとCudaのパフォーマンス
「fluidsD3D9」のサンプルでは、DirectXの現在の機能に15~20ミリ秒かかります。 次のソースコードのような時間を確認しました。
LARGE_INTEGER start, end, f;
QueryPerformanceFrequency(&f);
QueryPerformanceCounter(&start);
hr = g_pD3DDevice->Present(NULL, NULL, NULL, NULL);
QueryPerformanceCounter(&end);
float finterval = (float)(end.QuadPart - start.QuadPart)/
(float)(f.QuadPart/1000);
printf("\nPresent : %f\n", finterval);
しかし、SwapBufferは 'fluidsGL'サンプルで時間がかかりません。 'fluidsD3D9'サンプルでブロックが発生しているようです。 このため、FPSもDirectXとOpenGLサンプルが異なります。
どうすればこの問題を解決できますか?