Как нарисовать динамическую кривую линию в Android? - PullRequest
0 голосов
/ 25 мая 2011

У меня в моем приложении Android есть байтовый буфер, который рассматривается как вектор. Данные в буфере изменяются динамически (существует отдельный поток для обновления буфера). Я хочу рисовать эти данные динамически.

Все данные представляют координату Y точки в представлении, соедините последовательные точки, чтобы сформировать кривую. Поскольку буфер обновляется периодически, кривая выглядит как движение вперед плавно.

Во-первых, яреализуйте это, рисуя линии в методе onDraw (Canvas canvas), но это очень неэффективно. При слишком частом вызове метода invalidate загрузка ЦП очень велика.

Поэтому я перехожу на использование SurfaceView,Нарисуйте динамическую кривую в отдельном потоке, но она по-прежнему неудовлетворительна.

Я хочу знать, есть ли хорошие методы для достижения этой цели. Является ли OpenGL ES выбором?

1 Ответ

3 голосов
/ 25 мая 2011

В OpenGL ES 1.0 вы можете использовать glDrawArrays в режиме GL_LINES.Он будет делать именно то, что Canvas делает с вашими данными, но значительно быстрее

...