Enviar pesquisa
Carregar
CodeFest 2014. Коновалов А., Шкурко Д. — Разработка и оптимизация приложений для Android x86
•
0 gostou
•
1,403 visualizações
CodeFest
Seguir
Internet
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 47
Baixar agora
Baixar para ler offline
Recomendados
Погружение в глубины черной бездны с Intel GPA
Погружение в глубины черной бездны с Intel GPA
Evgeny Gorodetsky
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
Yandex
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
IT Share
Эффективная, вовлеченная команда энтузиастов. А ты готов к этому?
Эффективная, вовлеченная команда энтузиастов. А ты готов к этому?
CodeFest
Все о бекенде мобильных приложений Badoo
Все о бекенде мобильных приложений Badoo
CodeFest
Qubell — Component Model
Qubell — Component Model
Roman Timushev
CodeFest 2014. Christopher Bennage — CQRS Journey: scalable, available, and m...
CodeFest 2014. Christopher Bennage — CQRS Journey: scalable, available, and m...
CodeFest
Recomendados
Погружение в глубины черной бездны с Intel GPA
Погружение в глубины черной бездны с Intel GPA
Evgeny Gorodetsky
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
Yandex
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
IT Share
Эффективная, вовлеченная команда энтузиастов. А ты готов к этому?
Эффективная, вовлеченная команда энтузиастов. А ты готов к этому?
CodeFest
Все о бекенде мобильных приложений Badoo
Все о бекенде мобильных приложений Badoo
CodeFest
Qubell — Component Model
Qubell — Component Model
Roman Timushev
CodeFest 2014. Christopher Bennage — CQRS Journey: scalable, available, and m...
CodeFest 2014. Christopher Bennage — CQRS Journey: scalable, available, and m...
CodeFest
CodeFest 2014. Axel Rauschmayer — JavaScript’s variables: scopes, environment...
CodeFest 2014. Axel Rauschmayer — JavaScript’s variables: scopes, environment...
CodeFest
Дмитрий Евдокимов
Дмитрий Евдокимов
CodeFest
Мониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application Insights
CodeFest
DUMP-2012 - Только хардкор! - "Расширяем PHP" Сергей Горшков (index.art)
DUMP-2012 - Только хардкор! - "Расширяем PHP" Сергей Горшков (index.art)
it-people
Getting it Booking right
Getting it Booking right
CodeFest
Развитие управления проектами и критериев качества в ИТ
Развитие управления проектами и критериев качества в ИТ
CodeFest
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиков
CodeFest
Графика средствами PHP
Графика средствами PHP
Vasya Petrov
CodeFest 2014. Лысковский А. — Семь тезисов о карьере менеджера
CodeFest 2014. Лысковский А. — Семь тезисов о карьере менеджера
CodeFest
Maurice de Beijer
Maurice de Beijer
CodeFest
Thomas Lobinger
Thomas Lobinger
CodeFest
Демоны на PHP (Денис Глазков)
Демоны на PHP (Денис Глазков)
Ontico
Внутри Stack Overflow
Внутри Stack Overflow
CodeFest
Php intro rus
Php intro rus
aDDDitive
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
revisium
20 миллионов долларов за два года с нуля, или как мы делаем нужный людям продукт
20 миллионов долларов за два года с нуля, или как мы делаем нужный людям продукт
CodeFest
Функциональное программирование в браузере
Функциональное программирование в браузере
CodeFest
Base php 1
Base php 1
Vladimir Burdaev
Денис Иванов
Денис Иванов
CodeFest
Backend: Полнотекстовый поиск в Почте Mail.Ru
Backend: Полнотекстовый поиск в Почте Mail.Ru
CodeFest
MeeGo, AppUp & Atom – планы и перспективы
MeeGo, AppUp & Atom – планы и перспективы
Elena Kotina
Cyber Bionics #iotconfua
Cyber Bionics #iotconfua
Andy Shutka
Mais conteúdo relacionado
Destaque
CodeFest 2014. Axel Rauschmayer — JavaScript’s variables: scopes, environment...
CodeFest 2014. Axel Rauschmayer — JavaScript’s variables: scopes, environment...
CodeFest
Дмитрий Евдокимов
Дмитрий Евдокимов
CodeFest
Мониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application Insights
CodeFest
DUMP-2012 - Только хардкор! - "Расширяем PHP" Сергей Горшков (index.art)
DUMP-2012 - Только хардкор! - "Расширяем PHP" Сергей Горшков (index.art)
it-people
Getting it Booking right
Getting it Booking right
CodeFest
Развитие управления проектами и критериев качества в ИТ
Развитие управления проектами и критериев качества в ИТ
CodeFest
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиков
CodeFest
Графика средствами PHP
Графика средствами PHP
Vasya Petrov
CodeFest 2014. Лысковский А. — Семь тезисов о карьере менеджера
CodeFest 2014. Лысковский А. — Семь тезисов о карьере менеджера
CodeFest
Maurice de Beijer
Maurice de Beijer
CodeFest
Thomas Lobinger
Thomas Lobinger
CodeFest
Демоны на PHP (Денис Глазков)
Демоны на PHP (Денис Глазков)
Ontico
Внутри Stack Overflow
Внутри Stack Overflow
CodeFest
Php intro rus
Php intro rus
aDDDitive
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
revisium
20 миллионов долларов за два года с нуля, или как мы делаем нужный людям продукт
20 миллионов долларов за два года с нуля, или как мы делаем нужный людям продукт
CodeFest
Функциональное программирование в браузере
Функциональное программирование в браузере
CodeFest
Base php 1
Base php 1
Vladimir Burdaev
Денис Иванов
Денис Иванов
CodeFest
Backend: Полнотекстовый поиск в Почте Mail.Ru
Backend: Полнотекстовый поиск в Почте Mail.Ru
CodeFest
Destaque
(20)
CodeFest 2014. Axel Rauschmayer — JavaScript’s variables: scopes, environment...
CodeFest 2014. Axel Rauschmayer — JavaScript’s variables: scopes, environment...
Дмитрий Евдокимов
Дмитрий Евдокимов
Мониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application Insights
DUMP-2012 - Только хардкор! - "Расширяем PHP" Сергей Горшков (index.art)
DUMP-2012 - Только хардкор! - "Расширяем PHP" Сергей Горшков (index.art)
Getting it Booking right
Getting it Booking right
Развитие управления проектами и критериев качества в ИТ
Развитие управления проектами и критериев качества в ИТ
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиков
Графика средствами PHP
Графика средствами PHP
CodeFest 2014. Лысковский А. — Семь тезисов о карьере менеджера
CodeFest 2014. Лысковский А. — Семь тезисов о карьере менеджера
Maurice de Beijer
Maurice de Beijer
Thomas Lobinger
Thomas Lobinger
Демоны на PHP (Денис Глазков)
Демоны на PHP (Денис Глазков)
Внутри Stack Overflow
Внутри Stack Overflow
Php intro rus
Php intro rus
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
20 миллионов долларов за два года с нуля, или как мы делаем нужный людям продукт
20 миллионов долларов за два года с нуля, или как мы делаем нужный людям продукт
Функциональное программирование в браузере
Функциональное программирование в браузере
Base php 1
Base php 1
Денис Иванов
Денис Иванов
Backend: Полнотекстовый поиск в Почте Mail.Ru
Backend: Полнотекстовый поиск в Почте Mail.Ru
Semelhante a CodeFest 2014. Коновалов А., Шкурко Д. — Разработка и оптимизация приложений для Android x86
MeeGo, AppUp & Atom – планы и перспективы
MeeGo, AppUp & Atom – планы и перспективы
Elena Kotina
Cyber Bionics #iotconfua
Cyber Bionics #iotconfua
Andy Shutka
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
CEE-SEC(R)
Светлана Емельянова, Intel
Светлана Емельянова, Intel
Elena Voynova
Что нового в Android 5.0
Что нового в Android 5.0
Kirill Danilov
CodeFest 2012. Лоенко М. — Разработка и оптимизация Android* приложений под п...
CodeFest 2012. Лоенко М. — Разработка и оптимизация Android* приложений под п...
CodeFest
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
Yandex
Обзор новинок каталога 3 квартала 2014 г. продуктов и решений DEPO Computers ...
Обзор новинок каталога 3 квартала 2014 г. продуктов и решений DEPO Computers ...
DEPO Computers
OpenStack Murano: управления приложениями в облаке на платформах Linux, Solar...
OpenStack Murano: управления приложениями в облаке на платформах Linux, Solar...
Mirantis IT Russia
Embarcadero All-Access
Embarcadero All-Access
Serghei Urban
Импортозамещение КРОК
Импортозамещение КРОК
КРОК
[Add 4] crossplatform .net
[Add 4] crossplatform .net
Stanislav Sidristy
InterBase на разных устройствах быстрый старт. 2017-03-30
InterBase на разных устройствах быстрый старт. 2017-03-30
sandy97
Организация автоматизированного развертывания ПО и создание тестовых сред
Организация автоматизированного развертывания ПО и создание тестовых сред
Ekaterina Shelest
Видеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложении
Voximplant
Webinar: Обзор RAD Studio 10 Seattle (Delphi, C++Builder)
Webinar: Обзор RAD Studio 10 Seattle (Delphi, C++Builder)
Denis Vasilyev
Android: Как создать свое первое приложение?
Android: Как создать свое первое приложение?
Kuban Dzhakipov
Продуктовое направление проектирования и разработки ПАК
Продуктовое направление проектирования и разработки ПАК
InfoTeCS
продуктовое направление опир пак
продуктовое направление опир пак
InfoTeCS
Alexey Savchenko, Evangelist, Unreal Engine/ Epic Games
Alexey Savchenko, Evangelist, Unreal Engine/ Epic Games
White Nights Conference
Semelhante a CodeFest 2014. Коновалов А., Шкурко Д. — Разработка и оптимизация приложений для Android x86
(20)
MeeGo, AppUp & Atom – планы и перспективы
MeeGo, AppUp & Atom – планы и перспективы
Cyber Bionics #iotconfua
Cyber Bionics #iotconfua
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Светлана Емельянова, Intel
Светлана Емельянова, Intel
Что нового в Android 5.0
Что нового в Android 5.0
CodeFest 2012. Лоенко М. — Разработка и оптимизация Android* приложений под п...
CodeFest 2012. Лоенко М. — Разработка и оптимизация Android* приложений под п...
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
Обзор новинок каталога 3 квартала 2014 г. продуктов и решений DEPO Computers ...
Обзор новинок каталога 3 квартала 2014 г. продуктов и решений DEPO Computers ...
OpenStack Murano: управления приложениями в облаке на платформах Linux, Solar...
OpenStack Murano: управления приложениями в облаке на платформах Linux, Solar...
Embarcadero All-Access
Embarcadero All-Access
Импортозамещение КРОК
Импортозамещение КРОК
[Add 4] crossplatform .net
[Add 4] crossplatform .net
InterBase на разных устройствах быстрый старт. 2017-03-30
InterBase на разных устройствах быстрый старт. 2017-03-30
Организация автоматизированного развертывания ПО и создание тестовых сред
Организация автоматизированного развертывания ПО и создание тестовых сред
Видеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложении
Webinar: Обзор RAD Studio 10 Seattle (Delphi, C++Builder)
Webinar: Обзор RAD Studio 10 Seattle (Delphi, C++Builder)
Android: Как создать свое первое приложение?
Android: Как создать свое первое приложение?
Продуктовое направление проектирования и разработки ПАК
Продуктовое направление проектирования и разработки ПАК
продуктовое направление опир пак
продуктовое направление опир пак
Alexey Savchenko, Evangelist, Unreal Engine/ Epic Games
Alexey Savchenko, Evangelist, Unreal Engine/ Epic Games
Mais de CodeFest
Alexander Graebe
Alexander Graebe
CodeFest
Никита Прокопов
Никита Прокопов
CodeFest
Денис Баталов
Денис Баталов
CodeFest
Елена Гальцина
Елена Гальцина
CodeFest
Александр Калашников
Александр Калашников
CodeFest
Ирина Иванова
Ирина Иванова
CodeFest
Marko Berković
Marko Berković
CodeFest
Денис Кортунов
Денис Кортунов
CodeFest
Александр Зимин
Александр Зимин
CodeFest
Сергей Крапивенский
Сергей Крапивенский
CodeFest
Сергей Игнатов
Сергей Игнатов
CodeFest
Николай Крапивный
Николай Крапивный
CodeFest
Alexander Graebe
Alexander Graebe
CodeFest
Вадим Смирнов
Вадим Смирнов
CodeFest
Константин Осипов
Константин Осипов
CodeFest
Raffaele Rialdi
Raffaele Rialdi
CodeFest
Максим Пугачев
Максим Пугачев
CodeFest
Rene Groeschke
Rene Groeschke
CodeFest
Иван Бондаренко
Иван Бондаренко
CodeFest
Mete Atamel
Mete Atamel
CodeFest
Mais de CodeFest
(20)
Alexander Graebe
Alexander Graebe
Никита Прокопов
Никита Прокопов
Денис Баталов
Денис Баталов
Елена Гальцина
Елена Гальцина
Александр Калашников
Александр Калашников
Ирина Иванова
Ирина Иванова
Marko Berković
Marko Berković
Денис Кортунов
Денис Кортунов
Александр Зимин
Александр Зимин
Сергей Крапивенский
Сергей Крапивенский
Сергей Игнатов
Сергей Игнатов
Николай Крапивный
Николай Крапивный
Alexander Graebe
Alexander Graebe
Вадим Смирнов
Вадим Смирнов
Константин Осипов
Константин Осипов
Raffaele Rialdi
Raffaele Rialdi
Максим Пугачев
Максим Пугачев
Rene Groeschke
Rene Groeschke
Иван Бондаренко
Иван Бондаренко
Mete Atamel
Mete Atamel
CodeFest 2014. Коновалов А., Шкурко Д. — Разработка и оптимизация приложений для Android x86
1.
Оптимизация приложений для
Android x86 Антон Коновалов, Дмитрий Шкурко Intel Corporation
2.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 2 План выступления Обзор Устройства на базе аппаратуры средств Intel Инструменты разработки приложений на HTML5 Инструменты разработки приложений для Dalvik* и C/C++ приложений Разработка C/C++ приложений Инструменты разработки C/C++ приложений Демо
3.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Телефоны и планшеты на базе x86 архитектуры 3
4.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Следующее поколение u-архитектуры Atom*
5.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Точка зрения пользователя Android Runtime Core Libraries Dalvik Virtual Machine Blink (WebKit) Приложения на базе Android Dalvik* и HTML5 • Должны работать без изменений Приложения, содержащие двоичный код, • Должны работать без изменений, но не с максимальной эффективностью Как правило, популярные приложения используют бинарные библиотеки
6.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Типы приложений, поставляемые в бинарном виде 7 • Порт существующего кода с других платформ • Оптимизация без глобальной переделки • Требования к производительности в условиях ограничения на ресурсы • Обработка видео, аудио, сигналов • Алгоритмы симуляции • Прямой доступ к CPU/HW
7.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Инструменты разработки приложений на HTML5 8
8.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Intel® HTML5 Development Environment (XDK) Создание, отладка и распространение HTML5 приложений на базе общего кода для разных платформ xdk.intel.com
9.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Инструменты разработки приложений для Dalvik* и C/C++ приложений 10
10.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 11 Integrated Native Developer Experience (beta)
11.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 12 Integrated Native Developer Experience (beta) Базовые инструменты разработки Media Pack for Android Threading Building Blocks Инструменты для анализа производительности и отладки Compute Code Builder Intel C/C++ компилятор
12.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 13 Базовые инструменты разработки Android developer tools (ADT) Android NDK Android SDK Eclipse* IDE Android plugin for Visual Studio* Apache Ant* Intel* HAXM Android plugin for Eclipse*
13.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Hardware Accelerated Execution Manager (Intel® HAXM) www.intel.com/software/android HAXM драйвер для эмулятора x86 Образ ОС Android для x86 Готовые образы для эмулятора входят в SDK • Образы для x86 предоставляются, начиная с API 10 Виртуализация ускоряет эмуляцию в 2-4 раза • HAXM на Mac и Windows ОС • KVM на Linux
14.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 15 Демо (тесты на производительность памяти и процессора) HAXM off HAXM on
15.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Compute Code Builder 16 http://software.intel.com/en-us/articles/getting-started-with-compute- code-builder
16.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Возможности Compute Code Builder 17 • Preview JumpStart kit – учебный инструмент для пошагового построения OpenCL проекта • Code editing – Интеграция с популярными IDE: • Синтаксическая раскраска кода • Авто-дополнение кода • Обработка ошибок компиляции
17.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Возможности Compute Code Builder (продолжение) 18 • Compile and Build – компиляция OpenCL ядер, подготовка бинарных файлов на Android устройствах • OpenCL API debug – отладка вызовов OpenCL API, инспектирование объектов и очередей OpenCL. • OpenCL kernel debug – пошаговая отладка на центральном процессоре • Kernel analyze – анализ производительности OpenCL ядер на машинах с графическим процессором Intel® Graphics
18.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 19 Threading Building Blocks • Современная C++ библиотека параллельных алгоритмов для эффективного распараллеливания приложений • Программирование на уровне элементов работы, а не потоков ОС • Динамическое распределение нагрузки • Проверенные алгоритмы • Код доступен https://www.threadingbuildingblocks.org/ под GPL • Коммерческая версия http://software.intel.com/en-us/intel-tbb
19.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Intel® Threading Building Blocks - Тизер #include <tbb/parallel_reduce.h> #include <tbb/blocked_range.h> double getPi() // int_0^1 4dx/(1+x^2) = pi { const int num_steps = 10000000; const double step = 1./num_steps; double pi = tbb::parallel_reduce( tbb::blocked_range<int>(0, num_steps), double(0), [&](const tbb::blocked_range<int>& r, double current_sum ) -> double { for (size_t i=r.begin(); i!=r.end(); ++i) { double x = (i+0.5)*step; current_sum += 4.0/(1.0 + x*x); } return current_sum; // body returns updated value of the accumulator }, []( double s1, double s2 ) { return s1+s2; } ); return pi*step; }
20.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Intel® TBB – Использование в приложениях В новых версиях Android обработка зависимостей между библиотеками осуществляется автоматически Android.mk#for including tbb in your project: include $(CLEAR_VARS) LOCAL_MODULE := tbb LOCAL_SRC_FILES := $(TBB_PATH)/lib/android/libtbb.so LOCAL_EXPORT_C_INCLUDES := $(TBB_PATH)/include include $(PREBUILT_SHARED_LIBRARY) #for calling tbb from your lib: LOCAL_CPP_FEATURES += rtti exceptions LOCAL_SHARED_LIBRARIES += tbb LOCAL_CFLAGS += -DTBB_USE_GCC_BUILTINS -std=c++11 APP_ABI := x86 APP_STL := gnustl_shared Application.mk System.loadLibrary("gnustl_shared"); System.loadLibrary("tbb"); System.loadLibrary("YourLib"); Java
21.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 22 Media Pack Media Pack предоставляет код и примеры использования для: • Захвата видео потока с камеры и экрана • Редактирования видео • Включения потокового видео • Обработки звука Media Pack поддерживает x86 и ARM устройств на базе Android версии 4.3 http://software.intel.com/en-us/articles/intel-inde-media-pack-for- android-tutorials-building-samples http://software.intel.com/en-us/articles/intel-inde-media-pack-for- android-tutorials-running-samples
22.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 23 Захвата видео потока http://software.intel.com/en-us/articles/intel-inde-media-pack-for- android-tutorials-video-capturing-for-libgdx-applications http://software.intel.com/en-us/articles/intel-inde-media-pack-for- android-tutorials-video-capturing-for-opengl-applications
23.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 24 • Анализ производительности в реальном времени • Быстрые эксперименты с системными настройками для локализации проблем с CPU и GPU • Множество метрик для определения и оптимизации критичного кода • CPU, GPU, API, RAM, сеть, энергопотребление и т.д. Intel® Graphics Performance Analyzers Инструмент системного анализа ОС Android http://software.intel.com/en-us/vcsource/tools/intel-gpa
24.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Метрики и системные настройки 25 Метрики BUS/DRAM CPU Flash File System I/O Network I/O GPU App Memory OpenGL API and States Power Системные настройки для анализа производительности и отладки 1x1 Scissor Rect Disable Alpha Blending Disable Alpha Test Disable Draw Calls Disable Z-Test Show Wireframe Texture 2x2 Hyper Threading Disable CPU Frequency Override
25.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Инструменты разработки нативных приложений 26
26.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Android* NDK для разработки нативных приложений 27 Зачем он нужен? • Перенос существующего нативного кода с других платформ • Требования к производительности в условиях ограничения на ресурсы, например, на память • Обработка изображений, сигналов • Алгоритмы симуляции • Прямой доступ к CPU/HW • Оптимизация кода без изменения алгоритма http://developer.android.com/tools/sdk/ndk/index.html
27.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Совместимость приложений со всеми устройствами 28 myapp.apk APP_ABI := all Application.mklibs/x86/mylib.so libs/arm/mylib.so libs/arm-v7a/mylib.so libs/mips/mylib.so libs/?/mylib.so
28.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Специализация опций для разных архитектур 29 libs/x86/mylib.so libs/arm/mylib.so libs/arm-v7a/mylib.so libs/mips/mylib.so libs/?/mylib.so ifeq ($(TARGET_ARCH_ABI),x86) LOCAL_CFLAGS := -mtune=atom -msse3 endif ifeq ($(TARGET_ARCH_ABI),armeabi-v7a) LOCAL_CFLAGS := -march=armv7-a Endif Android.mk #ifdef __i386__ strlcat(buf, "__i386__", sizeof(buf)); #endif #ifdef __arm__ strlcat(buf, "__arm__", sizeof(buf)); #endif source.c http://software.intel.com/en-us/android/articles/creating-an-x86-and-arm-apk-using-the- intelr-compiler-and-gnu-gcc
29.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice C/C++ компиляторы для Android x86 30 Поддержка x86 включена, начиная с NDK r6 • Включал или включает до сих пор • GCC 4.4.3, GCC 4.6, GCC 4.7, GCC 4.8 • Clang 3.1, Clang 3.2, Clang 3.3 • ICC 13.1, 14.0 • RenderScript* • Сейчас по умолчанию используется версия 4.6
30.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Рекомендуемые опции GCC 31 Уровни оптимизации -O0, -O1, -O2, -O3, -Os -O0 уровень оптимизации по умолчанию Настройки и оптимизации для заданных микроархитектур • -march=atom (или –mtune=atom) • -march=slm (или –mtune=slm) Настройки точности арифметики • -ffast-math • -mfpmath=sse Другие полезные опции • -flto • -funroll-loops, -funroll-all-loops EEMBC® CoreMark®
31.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 32 Intel® C/C++ Compiler Оптимизация приложений и системы в целом Высокая производительность • Простая рекомпиляция может дать прирост производительности • Совместимость с GNU* GCC компилятором • Intel® Cilk™ Plus – параллелизм данных и задач • Поддержка стандартов IEEE 754-2008, С++11 Оптимизации • Поддержка SSE инструкций от SSE до AVX2 • Автоматическая и полуавтоматическая векторизация • Межфайловые оптимизации • Оптимизации с использованием профиля
32.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Рекомендуемые опции Intel C/C++ компилятора 33 Уровни оптимизации -O0, -O1, -O2, -O3, -Os • -O2 уровень оптимизации по умолчанию • если не включена поддержка отладки –g • -Ofast, -fast Настройки и оптимизации для заданных микроархитектур • -xATOM_SSSE3 • -xATOM_SSE4.2 Настройки точности арифметики • -fp-model fast=1|2 • -no-prec-div Другие полезные опции -ansi-alias, -ipo http://software.intel.com/en-us/android/articles/creating- an-x86-and-arm-apk-using-the-intelr-compiler-and-gnu-gcc
33.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 34 Intel® Cilk™ Plus
34.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 35 Intel® Cilk™ Plus int fib(int n) { if (n < 2) return n; int x = fib(n-1); int y = fid(n-2); return x + y; } int fib(int n) { if (n < 2) return n; int x = cilk_spawn fib(n-1); int y = fid(n-2); cilk_sync; return x + y; } Оригинальный код Оптимизированный код for (int i; i<8; ++i) { do_work(i); } cilk_for (int i; i<8; ++i) { do_work(i); } Оригинальный код Оптимизированный код
35.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 36 Intel® Cilk™ Plus //declaring the function body __declspec((vector)) double ef_add(double x, double y) { return x + y; } //invoking the function using array notation //operations on the whole extent of the arrays a,b,c a[:] = ef_add(b[:], c[:]); //use the full array notation construct to also specify n as an extend and s as a stride a[0:n:s] = ef_add(b[0:n:s], c[0:n:s]); //use the cilk_for construction to invoke the SIMD-enabled function in data parallel context cilk_for (i = 0; i<n; ++i) { a[i] = ef_add(b[i], c[i]); }
36.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 37 Intel® Cilk™ Plus void add_floats(float *a, float *b, float *c, float *d, float *e, int n) { int i; #pragma simd for (int i; i<8; i++) { a[i] = a[i] + b[i] + c[i] + d[i] + e[i]; } } http://software.intel.com/en-us/intel-cilk-plus
37.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 40 Оптимизация приложений с Intel® Cilk™ Plus http://habrahabr.ru/company/intel/blog/202088/
38.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 41 Перенос нативных Android* приложений на x86 • Изменение конфигурации построения (makefiles, файлы конфигурации) • Перенос C/C++ кода • Изменение типов данных • Изменение выравнивания типов данных • Перенос кода с интринсиками • Перенос ассемблерного кода http://software.intel.com/en-us/articles/ndk-android- application-porting-methodologies/
39.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Расположение данных в памяти union { struct TestStruct { int mVar1; long long mVar2; int mVar3; }; int mVar4[6]; } var; Оригинальный код union { struct TestStruct { int mVar1; long long mVar2 __attribute__ ((aligned(8))); int mVar3; }; int mVar4[6]; } var; Исправленный код
40.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice ARM* NEON vs. Intel® SSE 43 http://software.intel.com/en-us/blogs/2012/12/12/from-arm-neon-to-intel-mmxsse- automatic-porting-solution-tips-and-tricks // VADD.I8 d0,d0,d0 int8x8_t vadd_s8(int8x8_t a, int8x8_t b); #ifdef USE_MMX #define vadd_s8 _mm_add_pi8 //MMX #else #define vadd_s8 _mm_add_epi8 #endif NEONtoSSE.h
41.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Примеры 44
42.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 45 Демо (ffmpeg-2.1.4) • Минимум внешних зависимостей • Используется в нескольких проектах • Простое построение • configure • make –j 16 install http://www.ffmpeg.org --disable-shared --enable-static --enable-pic --disable-doc --disable-symver --enable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avdevice --disable-doc --target-os=linux --arch=atom --enable-cross-compile --cross-prefix=… --sysroot=…
43.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 46 Демо (ffmpeg-2.1.4) Преобразование из формата h265 в формат h264 ICC: 60 sec, FPS 17 • fmpeg_icc -i surfing.265 -t 40 -f mp4 -threads 4 -y /dev/null GCC: 87 sec, FPS 11 • fmpeg_gcc -i surfing.265 -t 40 -f mp4 -threads 4 -y /dev/null Опции GCC 4.8: • -O3 -march=atom -funroll-all-loops -ffast-math -fomit-frame-pointer -mfpmath=sse Опции ICC 14.0.1: • -O3 -xATOM_SSSE3 -no-prec-div
44.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice 47 Демо (Bouncing balls) http://software.intel.com/en-us/videos/intel-c-compiler-for- android-5-optimizing-performance-icc-techniques-to-make- your-app-soar
45.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Intel® Developer Zone (IDZ) • Учебные материалы и техническая поддержка • Обмен опытом • Специализированные сообщества • Новости из мира технологий Intel Android* Developer Website • Перенос нативных приложений • Советы и руководства • Статьи на техническая темы • Форумы и блоги, которые ведутся инженерами Intel • Информация о SW/HW продуктах Intel для разработчиков на Android www.intel.com/software/android Дополнительная информация
46.
47.
Copyright © 2014,
Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Optimization Notice Legal Disclaimer & Optimization Notice INFORMATION IN THIS DOCUMENT IS PROVIDED “AS IS”. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO THIS INFORMATION INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. Copyright © 2014, Intel Corporation. All rights reserved. Intel, Pentium, Xeon, Xeon Phi, Core, VTune, Cilk, and the Intel logo are trademarks of Intel Corporation in the U.S. and other countries. Optimization Notice Intel’s compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice. Notice revision #20110804 50
Baixar agora