我知道这本质上是重复的,但是this从未得到回答。我想提一下,我有followed the tutorial可以与Visual Studio一起使用SFML,并且我正在使用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以外,所有内容均以正常速度运行,而RenderWindow每次仅需要40秒。有谁知道我该如何解决?我已经有几个星期了。

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

最佳答案

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

  • WindowImpl.cpp中,导航到函数WindowImp::WindowImp并注释掉整个函数主体。
  • WindowImpl.cpp中,导航到WindowImp::popEvent并注释掉对processJoystickEvents的调用

  • 只要您不使用SFML的操纵杆部分,它就可以正常工作。

    关于c++ - SFML RenderWindow需要很长时间才能打开一个窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53017551/

    10-12 07:25