Intereting Posts
Как установить минутный интервал в DialogFragment Статические андроидные ярлыки для нескольких ароматов? Вызов завершения () После запуска новой операции Индикатор загрузки справа в AutoCompleteTextView Декодирование потоковой передачи H264 с использованием андроида низкого уровня api Asynctask vs Thread vs Services vs Loader Как применить пользовательский образ к флажку в android Android – FAB, чтобы скрыть при навигации между различными фрагментами в viewpager Как установить многострочные, первые флажки и отключить предложения на edittext AsyncTask не останавливается, даже когда действие уничтожено AsyncTask и контексты Две службы с одним и тем же фильтром намерений Динамически устанавливать полномочия ContentProvider Поскольку обновление OTA для Marshmallow мое приложение на основе гироскопа больше не работает Возможно ли ввести режим отладки для андроида при запуске теста junit?

Какая доля устройств Android выигрывает от оптимизации Libjpeg-turbo?

Проект libjpeg-turbo «использует SIMD-инструкции (MMX, SSE2, NEON) для ускорения сжатия и декомпрессии базовой линии JPEG в системах x86, x86-64 и ARM».

Какая доля пространства на Android-устройстве поддерживает эти инструкции и, следовательно, получит выгоду от использования этой библиотеки?

(Я буду декомпрессировать jpegs в собственном коде, доступном через NDK.)

Solutions Collecting From Web of "Какая доля устройств Android выигрывает от оптимизации Libjpeg-turbo?"

Подавляющее большинство устройств Android на рынке используют некоторый вкус процессора ARM. Телефоны высокого класса (например, HTC Sensation) имеют тенденцию использовать процессоры ARM, которые поддерживают NEON (Qualcomm Snapdragon, OMAP4, Samsung Exynos, Tegra3). Телефоны с более старыми / менее способными обычно имеют некоторый набор микросхем ARMv6, такой как серия Qualcomm MSM72xx. Некоторыми хорошими примерами являются Google G1 и оригинальный Motorola Droid.

Android-планшеты – это немного другая история. Большой процент существующих планшетных устройств основан на чипсете nVidia Tegra2, который не включает поддержку NEON. Новые планшеты на основе Tegra3 (Asus Transformer Prime) включают поддержку NEON. Несколько редких таблеток основаны на SOCOM от Qualcomm (например, HTC Flyer), а также поддерживают NEON. Есть также несколько недорогих планшетов на основе MIPS и даже некоторые с чипами x86. Тогда есть относительно новая категория устройств Google TV. В прошлом году они были в основном х86, но в ближайшее время в ближайшее время будет много тех, кто использует процессоры ARM.

Для порта libjpeg-turbo, который я сделал (и до сих пор работаю), нужно учитывать следующее:

Набор команд (armv6, armv7), SIMD (с или без NEON)

Libjpeg-turbo действительно сияет на armv7 с NEON. NEON – поддержка SIMD для рук.

Tegra, Tegra2 не имеет NEON, но, например, armv7. Таким образом, libjpeg-turbo может быть построен прямо сейчас, поддерживая поддержку NEON, но все же используем некоторые из оптимизаций armv7 … это будет не так быстро. Он по-прежнему будет быстрее, чем libjpeg, который в настоящее время находится в android.

Есть микросхемы armv6, которые помещаются в новые телефоны под управлением Android. Особенно для более дешевых рынков. Вместо того, чтобы войти в исчерпывающий список, то, что должно произойти в lib (и это материал типа WIP для меня в настоящее время), получает различные оптимизации armv6 в libjpeg-turbo, поэтому для libjpeg-turbo на android существует хорошая история. Будьте на связи.

В настоящее время на всех устройствах Android используется набор команд ARM. Большинство из них (но не все) поддерживают набор инструкций NEON. Инструкции NEON похожи на SSE2 на x86.