Я называю это только один раз для каждого графика

ользую OpenGL для рендеринга 2D-карты и в процессе мне нужно рендерить заполненные полигоны с большим количеством вершин (100,000+). Для этого я использовал тесселяцию полигонов к треугольникам, используя glu tessellator, и визуализировал треугольники с помощью VBO.

Полигоны отображаются успешно.Проблема в том, что процесс тесселяции оказывается очень медленным. Для некоторых графиков с500,000 вершины, это займет почти2 минуты на моем ноутбуке (i5-3230M 2.6GHz, 8G RAM). Это неприемлемо для моего приложения.

Есть ли другой алгоритм тесселяции быстрее, чем глю тесселлятор?

Или я сделал это неправильно?

Следующие два изображения являются результатами рендеринга с

glPolygonMode(GL_FRONT, GL_LINE)

РЕДАКТИРОВАТЬ : Данные карты являются статическими, а исходные данные полигона представлены в формате широта-долгота. Я уже сохранил тесселяционные данные po, lygon (эти треугольники) в отдельном файле.

Чтобы быть более понятным (не связанным непосредственно с проблемой), для рендеринга на экране необходима проекция для преобразования формата LL в экранные координаты.

Проблема в том, что у пользователя могут быть тысячи графиков для установки (в которых будет выполняться тесселяция). Хотя тесселяция будет выполняться только один раз, она все равно занимает слишком много времени.