Я делаю базовое моделирование движущихся планет и гравитационного притяжения между ними, и отображаю гравитацию с большим полем зеленых векторов, указывающих в направлении, в котором гравитация притягивает их, и величиной силы притяжения.
Это означает, что у меня 400+ линий, которые на самом деле представляют собой прямоугольники с вращением, перерисовываются каждый кадр, и это убивает мою частоту кадров. Есть ли способ оптимизировать это, кроме как делать меньше строк? Как современные игры OpenGL достигают такой высокой частоты кадров даже при наличии множества сложных полигонов / цветов?
РЕДАКТИРОВАТЬ:
SFML выполняет фактическую визуализацию каждого кадра, но я создаю свои линии, создавая прямоугольник sf :: Shape. Функция генерации принимает ширину и устанавливает точку 1 как (0, ширина), точку 2 как (0, -width), точку 3 как (LineLength, -width) и точку 4 (LineLength, ширина). Это формирует прямоугольник, который простирается вдоль положительной оси X. Наконец, я поворачиваю прямоугольник вокруг (0,0), чтобы получить его правильную ориентацию, и устанавливаю положение фигур так, чтобы оно было там, где должно быть начало линии.