鼠标移动时窗口变慢

时间:2014-09-15 18:37:24

标签: c++ sfml

我有一个SFML RenderWindow,它以30的帧速率运行,但是当我将鼠标移到窗口上时,它明显减慢到一个不可接受的帧速率(3 FPS或更慢)。当我停止移动鼠标时,帧速率恢复到正常速度。奇怪的是我的代码不会监听鼠标事件。有没有人知道如何解决这个问题?

我的代码:

int Window::run()
{
    while(window->isOpen())
    {
        sf::Event event;
        while(window->pollEvent(event))
            onEvent(event);

        loop();

        window->clear(bgcolor);
        for(int i=0; i<panels.size(); i++)
            panels[i]->draw(window);
        window->display();
    }

    return 0;
}

void Window::onEvent(sf::Event event)
{
    if(event.type == sf::Event::Closed)
        window->close();
    else if(event.type == sf::Event::Resized)
    {
        for(int i=0; i<panels.size(); i++)
            panels[i]->repaint();
    }

}

0 个答案:

没有答案