Это обычно считается неправильным способом рендеринга карты тайлов.
Более правильный способ - создать большую текстуру, или, в данном случае, sf::Image
, а затем рендерить свои плитки на эту текстуру,и затем рендеринг этой большой текстуры на экран.Бывают случаи, когда такой подход неосуществим, но в большинстве случаев он намного лучше.
Таким образом, вы рендерите каждую плитку только один раз, когда карта листов загружена, а затем вам нужно только отрендеритьбольшая текстура один раз для каждого кадра, в отличие от рендеринга 2500 отдельных плиток для каждого кадра.
Способ, которым SFML использует OpenGL, не подходит для большого числа вызовов Draw()
, поэтому он помогает найти способы вызоваэто как можно меньше раз.