SFML RenderWindow 需要很长时间才能打开窗口

2024-01-10

我知道这本质上是重复的,但是this https://stackoverflow.com/questions/50988505/sfml-renderwindow-taking-inconsistent-time-to-display从未得到答复。我想提一下,我有按照教程进行操作 https://www.sfml-dev.org/tutorials/2.5/start-vc.php用于将 SFML 与 Visual Studio 一起使用,并且我正在使用 64 位 SFML 运行一个 64 位项目。该窗口会立即加载几次,现在在新的构建/调试中始终需要 40 秒才能打开。我还关闭了调试符号的下载。我的显卡驱动程序是最新的,我的硬盘也很好。这是代码:

 #include <SFML/Graphics.hpp>

int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");//This one
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);

while (window.isOpen())
{
    sf::Event event;
    while (window.pollEvent(event))
    {
        if (event.type == sf::Event::Closed)
            window.close();
    }

    window.clear();
    window.draw(shape);
    window.display();
}

return 0;
}

一切都以正常速度运行,除了 RenderWindow,它每次都需要 40 秒。有谁知道我该如何解决这个问题?我已经遇到这个问题几个星期了。

e: 难道是我的CPU的问题?它不是最好的,但我仍然可以运行大多数游戏,因为我有 1050ti。我当前的 CPU 是 i5-2500k,尽管我相信我在 A10-5800k 上也遇到了同样的问题。


编辑:在采用下面的解决方案之前,请尝试更新您的键盘固件!您很可能使用 Corsair 键盘,因此请下载 Corsair 的iCue https://www.corsair.com/us/en/icue并更新您的键盘驱动程序。这很可能会解决这些问题。如果它不起作用,请尝试以下操作:

由于OP没有进一步回复,我尝试自己寻找解决方法,因为这个问题在2020年仍然存在。此解决方法需要您自己编译库。因此,下载源代码并更改以下内容:

  • In WindowImpl.cpp,导航到该函数WindowImp::WindowImp并注释掉整个函数体。
  • In WindowImpl.cpp, 导航WindowImp::popEvent并注释掉对processJoystickEvents

只要您不使用 SFML 的操纵杆部分,这应该可以正常工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SFML RenderWindow 需要很长时间才能打开窗口 的相关文章

随机推荐