Производительность обработки в Android - PullRequest
5 голосов
/ 03 февраля 2012

Хотелось бы узнать, как обстоят дела с обработкой эскизов в Android. Вот ссылка для получения дополнительной информации о Processing-Android: http://wiki.processing.org/w/Android#Instructions

Я действительно не знаю, на каком уровне лежит обработка в Android и как она реализована. Вот почему я хотел бы знать, какова производительность эскиза обработки, встроенного в приложение Android, по сравнению с обычным Canvas API Android.

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

Так что я хотел бы получить ваше мнение, в то время как обработка эскизов может быть столь же эффективной (с точки зрения производительности / оптимизации), как и прямое использование Android Java API?

Спасибо

1 Ответ

10 голосов
/ 20 февраля 2012

Я провел несколько тестов с примерами, приведенными в разделе Обработка, и я подумал, что это может быть полезно для некоторых людей ... Итак, вот результаты:

Устройство: Samsung GalaxyS II: Android 2.3.6, 1 ГБ ОЗУ, двухъядерный 1,2 ГГц Cortex-A9.

Тесты: (при обработке 2.0a4)

  • Нет= с большой задержкой, чтобы что-то сделать (около 5 FPS)
  • Soso = мы можем видеть, что делает эскиз, но все еще с большой задержкой (около 10/15 FPS)
  • OK = работает(около 25 FPS или более)

Основы:

  • Пуантилизм = OK
  • Sprite = OK
  • ... большинство основных примеров работают правильно

Темы:

Взаимодействие:

  • Следуйте примерам = ОК

Анимация:

  • Последовательный = ОК

Эффекты:

  • Неограниченные спрайты = ОК

Движение:

  • Броуновский = ОК
  • Надувные пузыри = OK

Имитация:

  • Fluid = Soso
  • Flocking = OK (но иногда для FPS получается немного ниже, но приемлемо)
  • Простая система частиц = OK
  • Система дымовых частиц = OK
  • Пружина = OK
  • Несколько систем частиц = OK
  • Цепь = OK

OpenGL:

  • Птицы: без PShape3D = Сосо, с PShape3D = ОК
  • Земля = ОК
  • Ракета =ОК
  • Экструзия = НЕТ
  • Электрический = ОК
  • CameraLight = ОК
  • YellowTail = ОК
  • Планеты = ОК

Предоставленные библиотеки:

Физика:

  • Пузыри = Сосо
  • Падение = Сосо
  • Суставы= ОК
  • Кнопки = ОК
  • Полигоны = ОК
  • Ограничения = ОК

PBox 2D: не удалось заставить его работать

Некоторые эскизы с OpenProcessing.org

Примечание. Я выполнил все эскизы в их первоначальном размере, я не масштабировал их, чтобы они соответствовали моему SGSII (который имеет разрешение 480 x 800), поэтому я думаю, что производительность можетварьируются в зависимости от размера эскиза.

Вывод: обработка действительно интересна как графическая библиотека для Android.Большинство примеров, приведенных в разделе «Обработка», работают на моем телефоне очень хорошо и гладко (включая примеры OpenGl).Тем не менее, он не так оптимизирован, как на ПК, ведь моделирование, такое как Smoke или Vortex, где задействовано много частиц, действительно запаздывает.Библиотека Fisicia хорошо работает на Android, что очень хорошо.

Вуаля:)

...