如何在 DirectX10 中启用垂直同步

发布于 2024-09-09 08:03:55 字数 333 浏览 11 评论 0原文

我正在使用 SlimDX 开发基于 DirectX10 的应用程序。我想启用类似于 DirectX9 的垂直同步,但 fps 似乎没有锁定到 60Hz(如果我使用 Direct9,就会发生这种情况)。我正在使用此设置垂直同步

SwapChain.Present(1, PresentFlags.None);

我做错了什么吗?

顺便说一句,我正在使用 ATI HD5570 显卡运行 Win7。经过一番谷歌搜索后,我发现 ATI 可以在某些游戏上强制垂直同步。所以我想知道这是否相关。

C++ 代码的参考也可以。我自己来翻译一下。

谢谢

I'm working on a apps that's based on DirectX10 by using SlimDX. I would like to enable vsync similar to DirectX9, but the fps doesn't seems to lock to 60Hz(which happens if I'm using Direct9). I'm setting vsync by using this

SwapChain.Present(1, PresentFlags.None);

Did I do something wrong?

Btw, I'm running Win7 with ATI HD5570 video card. After some googling, I gather that ATI can force vsync on certain games. So I wonder if that's related.

Reference for code to C++ will do as well. I'll translate it myself.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

唐婉 2024-09-16 08:03:55

SwapChain.Present 的第一个参数是syncInterval。 0 表示呈现应立即发生,无需同步。任何其他值表示演示应与指定的下一个垂直空白同步。
所以像这样使用它:

SwapChain.Present(0, PresentFlags.None);

First argument of SwapChain.Present is syncInterval. 0 indicates that presentation should occur immediately, without synchronization. Any other value indicates that presentation should be synchonized with the specified next vertical blank.
So use it like this:

SwapChain.Present(0, PresentFlags.None);
佞臣 2024-09-16 08:03:55

您可以尝试使用 Catalyst 控制中心强制垂直同步

在此处输入图像描述

You can try to force vsync using Catalyst Control Center

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文