Logic behind putting second thread there was to gain 3000 fps which is lost just by having event pulling in same loop as drawing
![Smiley :)](https://www.sfml-dev.org/forums/Smileys/default/smiley.gif)
Effect is nearly identical with this code, although drop is from around 1000 to 200 on my machine.
But I see your point, it might be OS not SFML
![Smiley :)](https://www.sfml-dev.org/forums/Smileys/default/smiley.gif)
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window;
window.create(sf::VideoMode(1680, 1050),"");
window.setVerticalSyncEnabled(false);
int fps = 0;
sf::Text fpsText;
sf::Clock clk;
std::string str;
char temp[20];
while(window.isOpen())
{
sf::Event event;
while(window.pollEvent(event));//needed to maximize
fps = 1/clk.getElapsedTime().asSeconds();
clk.restart();
sprintf(temp, "%d", fps);
str = temp;
fpsText.setString(str);
window.clear();
window.draw(fpsText);
window.display();
}
return 0;
}