Каково реальное ускорение в матричном множении 4x4 в нативном и интерпретируемом кодах на Android? - PullRequest
0 голосов
/ 18 февраля 2012

Мне любопытно, как работает Dalvik, когда дело доходит до умножения матриц с плавающей запятой 4x4 по сравнению с исходным.Я сам протестирую это, когда пойму, как работать с NDK (я только запускаю android через java), но если я заранее знаю, что нет большой разницы, я не буду тратить время на NDK.

Кто-нибудь проверял это?JIT хорошо скрывает разницу в производительности?Стоит ли беспокоиться с NDK для создания игры?(Я уверен, что это зависит от сложности игры, но я хотел бы знать, когда именно вы рассмотрите NDK) Спасибо

1 Ответ

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

Кто-нибудь проверял это?

Извините, я не ..

"JIT хорошо скрывает разницу в производительности?

Начиная с версии Android 2.2 (froyo), был представлен динамический байт-код времени выполнения для нативного перевода (также известный как JIT в мире Java). Это влияет на производительность вашего пути с интенсивными вычислениями, если он запускается несколько раз (это «горячая точка»). Реализованный JIT в Dalvik основан на трассировке, и говорят, что он имеет в среднем от 2 до 5 раз больше производительности в типичном приложении. С JIT будут значительные улучшения, но я не могу точно сказать, я предполагаю, что производительность должна быть в паре с собственным кодом в вашем примере (или даже лучше, если бы вы использовали мост NDK для собственного для небольших вычислений). В Google IO рассказывается о Dalvik JIT, представленном в Android 2.2, который может вам помочь: https://www.youtube.com/watch?v=Ls0tM-c4Vfo

Стоит ли беспокоиться с NDK для создания игры?

Это сильно зависит от типа игры и ее требований. Возможно, вы можете задать этот вопрос как отдельный вопрос, предоставив более подробную информацию, касающуюся аспекта производительности.

...