Фон
Я пишу графическую библиотеку для приложения для Android (да, я знаю, что там много, но нет тех, которые предлагают настраиваемость, которая нам нужна).
Я хочу, чтобы графики были масштабируемыми и панорамируемыми.
Проблема
Я хочу, чтобы опыт был плавным, оставив небольшой след процессора.
Решение
- Используйте
View.onDraw(Canvas)
- Использовать высокое разрешение
Bitmap
- Используйте
OpenGL
View.onDraw():
Преимущества
- Некоторые, что легко реализовать
Недостатки
- Плохая производительность? (если он не использует OpenGL, не так ли?)
Bitmap:
Преимущества
- Действительно легко реализовать
- Отличная производительность
Недостатки
- Нужно использовать масштабирование, которое является уродливым
OpenGL
Преимущества
- Вероятно хорошая производительность в зависимости от моей реализации
Недостатки
- Дополнительная работа по реализации
Заключительные слова
OpenGL, вероятно, будет профессиональным решением и определенно обеспечит большую гибкость, но для этого потребуется больше работы (сколько неясно).
Одна вещь, которая в OpenGL определенно проще - это панорамирование/масштабирование, так как я могу просто манипулировать матрицей, чтобы сделать ее правильной, остальное должно быть сложнее, хотя я думаю.
Я не боюсь, что мои руки грязные, но я хочу знать, что я направляюсь в правильном направлении, прежде чем начинать рыть.
Я пропустил какие-либо решения? Все ли мои решения разумны?
Дополнительные примечания:
Я могу добавить, что при изменении графика я хочу анимировать изменения, это, пожалуй, самая сложная задача для всех.