0
Facilitando a vida no
Android
Ivan Costa
Agenda
•
•
•
•

Intel HAXM
Intel C++ Compiler for Android
Intel GPA
Beacon Mountain
HAXM
• Intel® Hardware
Accelerated Execution
Manager
O que a Intel fez ?
• CPU Host x86
• Tecnologia Intel® VT
• Otimizou as imagens x86
para android

• Acelerou o Android
Emu...
O que a Intel fez ?
• Suporte ao MAC,
Windows
• E Linux (KVM)

• Suporte oficial pelo
SDK Manager (Extra)
A arquitetura do Intel® HAXM
E para usar ?
• Windows ou Mac
• Linux
• Adicionar no campo de
• Instalar o kvm
opções do emulador:
-qemu -m <mem> enable-...
Intel® C++
Compiler for
Android
Intel C++ Compiler for Android
• Compartilha a base do Intel C++ Compiler
13.0
• Melhor otimização para o Atom

• Compatív...
Quando eu posso usar?
Ambiente de desenvolvimento Host

Ambiente de Desenvolvimento Target

Computer System

Devices com A...
Como eu posso obter uma cópia?
• Entre em: http://software.intel.com/ptbr/c-compiler-android
• E tenha um versão grátis do...
Intel® GPA
Intel® Graphics Performance
Analyzers
Intel ® GPA – System Analyzers
• Cpu host x86
• Perfis de perfomace e
energia.
• Gráficos real-time da
CPU, GPU e energia....
Começando a usar
1. Instalar o APK,
conectar com o PC
Host via adb

2. Rodar o Intel® GPA System
Analyzer
Na máquina de
de...
mais métricas ..
• Métrica baseada no
tempo de uso:
• Processador, Memória e
I/O.

• Métricas componetes
básicos
• Vertice...
Algumas métricas ..
• Métricas dos
componetes da GPU
• USSE, TA, ISP, TSP

• OpenGL
• Qnt vertices (indexado)
• Qnt drawCa...
Algumas dicas…

17
Encontrando gargalos
• Faz-se experimentos
com o pipeline da
GPU
• É a forma mais fácil
de se encontrar
gargalos.
Beacon Mountain
Beacon Mountain v0.6.1
• Ambiente de desenvolvimento NDK em
ARM* e Intel® Atom™ Devices
• Ferramentas para Design,
desenvo...
Beacon Mountain v0.6.1
• Ferramentas Intel x86

 Intel® Hardware
Accelerated Execution
Manager
 Intel® GPA System
Analyz...
Take Away
• Beacon Mountain
• Ambiente android para desenvolvimento NDK em ARM e x86

• HAXM:
• Se sua cpu é x86 ganhe de ...
• Q/A
Ferramentas Intel Android
Upcoming SlideShare
Loading in...5
×

Ferramentas Intel Android

2,361

Published on

Palestra ministrada por Ivan Costa no App Lab Android realizado no auditório da Intel no dia 11 de Outubro de 2013.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,361
On Slideshare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Descrição do problema do AVD ser lento.O emulador do Android  tem que emular as instruções ARM dentro da arquitetura x86 (isso consome muito processamento) E Executar estas instruções. Com isso temos que a virtualização da CPU no emulador, ou seja a CPU do emulador rodando como um software, Tornando o processo mais lento (bem lento). Somado ao fato que outros componente também tem que ser emulados, temos um problema.
  • Acelerou o emulador do android de 5-10x executando as instruções x86 nativamente.Utilizando bibliotecas e as tecnologias de virtualização da Intel otimizou-se as imagens de x86, para trabalharem melhor com o HAXM  e rodarem mais rápido.O HAXM somente trabalha com imagens x86Suporte ao OpenGl 2.0.
  • Oferece suporte de instalação a MAC, Windows e atravez do KVM, para linux também.Esta tecnologia tem suporte oficial pelo SDK Manager (MAC e Windows), na parte Extra, e é fácil de se instalar.O HAXM somente trabalha com imagens x86
  • QEMU (the Quick EMUlator) é um emulador open source utilizado por vários outros projetos, que tem suporte a vários devices e perifericos.Uma vantagem de arquitetura do HAXM é o fato de ele executar nos dois lados do emulador. Dentro do alvo emulado (device android) e na máquina host. Isto permite que o emulador rode mais próximo da máquina hostIsto acontece ao se utilizar funções provenientes da tecnologia de virtualização da intel (intel VT)-processadore que suportem esta função &gt;2005-, o processador emulado utilizando o HAXM,  executa suas instruções no próprio processador do host.Vale resaltar que a interface entre o QEMU e o HAXM é independende de fornnecer, porem somente a Intel implementou esta interface. (não conheço outra tecnologia parecida)\O HAXM em conjunto com as imagen x86 foram testados, e hoje funcionam com perfeita sincronia.Estas vantagens n arquitetura faz, com que o HAXM seja até 10 vezes mais rápido que o emulador padrão com arm.Ganha-se mais velocidade na execução ao emular a GPU. (o HAXM não atua nisso).
  • Intel C++ Composer XE 2013 - $699Otimizaçõesproprietárias que fazem a o bináriosermelhor que o do gccAtençãoespecialaocosumo de energiaE melhorutilização do processadorintruções sse2, sse3VetorizaçãoAuto-vetorização
  • You need the ‘android:debuggable’ flag in you manifest set to ‘true’ to be able to analyse with GPA(Automatically set by ant and eclipse while building a debug version)
  • Adb can be used over usb as well as over wifi (using tcp/ip)Instalação Ubuntu .. AdicionarSUBSYSTEM==&quot;usb&quot;,ATTRS{idVendor}==&quot;8087&quot;,MODE=&quot;0666&quot;,OWNER=&quot;root&quot;
  • USSE (Universal Scalable Shader Engine), temos USSE Vertex Load e USSE Pixel Load -processando instruções de Vertices e pixel (frame) USSE Total Load Métricas secudárias são USSE Verices/Second,USS Cycles/Vertex e USS Cycles/Pixel.
  • USSE (Universal Scalable Shader Engine), temos USSE Vertex Load e USSE Pixel Load -processando instruções de Vertices e pixel (frame) USSE Total Load Métricas secudárias são USSE Verices/Second,USS Cycles/Vertex e USS Cycles/Pixel.
  • Analisa a perfomace do TSP.Caso TSP Load &gt;, (TA Load e/ou ISP Load). USSE Pixel Load for alto, temos que reduzir o fragment shander, que deve estar complexo. Texture Unit Load for alto, temos que reduzir a textura.
  • 1x1 Scissor Rect. Neste modo, o processamento de pixel é desligado, do pipeline redering. Resultado Esperado: Aumento do frame rate.Caso contrário: A complexidade da geometria ou vertex shader, é o gargalo.Obs: Ao utilizar o Wireframe pode-se ter uma idéia da complexidade a complexidade da geometria.No caso da complexidade não ser o gargalo, então o vertex shander, é o gargalo.Disable Anpha Blending: Neste modo, iremos reduzir o número de transparência nos objetos, estamos reduzindo as operações de combinação.Disable Alpha Test: Neste modo, deliga-se o teste de descarte alpha test, assim teremos menos pixels sendo rederizados.Disable Z-Test: Neste modo, deliga-se o teste de descarte z-test, assim temos uma analise sobre as operações no Z-buffer.Resultado Esperado: Aumenta-rá a perfomace, pois não utilizará o Z-test no pipeline.OBS: Neste caso pode-se analisar, a redundância de geometrias primitivas. Analise das primitivas em si. Deste modo, temos uma ferramente para analisar o quanto as primitivas estão impactando na qualidade da imagem, e assim tomar uma decisão.
  • Transcript of "Ferramentas Intel Android"

    1. 1. Facilitando a vida no Android Ivan Costa
    2. 2. Agenda • • • • Intel HAXM Intel C++ Compiler for Android Intel GPA Beacon Mountain
    3. 3. HAXM • Intel® Hardware Accelerated Execution Manager
    4. 4. O que a Intel fez ? • CPU Host x86 • Tecnologia Intel® VT • Otimizou as imagens x86 para android • Acelerou o Android Emulator entre 5x-10x • Executa as instruções x86 nativamente • Suporte ao OpenGL 2.0
    5. 5. O que a Intel fez ? • Suporte ao MAC, Windows • E Linux (KVM) • Suporte oficial pelo SDK Manager (Extra)
    6. 6. A arquitetura do Intel® HAXM
    7. 7. E para usar ? • Windows ou Mac • Linux • Adicionar no campo de • Instalar o kvm opções do emulador: -qemu -m <mem> enable-kvm • Ao executar o emulador adicionar: -qemu –m <N> -enable-kvm
    8. 8. Intel® C++ Compiler for Android
    9. 9. Intel C++ Compiler for Android • Compartilha a base do Intel C++ Compiler 13.0 • Melhor otimização para o Atom • Compatível com Android NDK • Compatível com o GCC • Melhora de performace, em muitos casos, apenas recompilando o código • Instalação e configuração simples e rápida
    10. 10. Quando eu posso usar? Ambiente de desenvolvimento Host Ambiente de Desenvolvimento Target Computer System Devices com Android* OS Qualquer sistema com processador Intel ou um sistema compatível com o processador Intel, que suporte os requesitos de software Qualquer sistema com processador intel Software Software •Ubuntu* 10.04 or 11.04 •Android NDK r8e •Intel C++ Compiler for Android OS •Jelly Bean or Ice Cream Sandwich
    11. 11. Como eu posso obter uma cópia? • Entre em: http://software.intel.com/ptbr/c-compiler-android • E tenha um versão grátis do compilador • É por tempo limitado
    12. 12. Intel® GPA Intel® Graphics Performance Analyzers
    13. 13. Intel ® GPA – System Analyzers • Cpu host x86 • Perfis de perfomace e energia. • Gráficos real-time da CPU, GPU e energia. • Experimentos com o OpenGL-ES* Disponível em: intel.com/software/gpa
    14. 14. Começando a usar 1. Instalar o APK, conectar com o PC Host via adb 2. Rodar o Intel® GPA System Analyzer Na máquina de desenvolvimento 3. Montar o seu profile
    15. 15. mais métricas .. • Métrica baseada no tempo de uso: • Processador, Memória e I/O. • Métricas componetes básicos • Vertices, Primitivas, Fragmentos e texturas
    16. 16. Algumas métricas .. • Métricas dos componetes da GPU • USSE, TA, ISP, TSP • OpenGL • Qnt vertices (indexado) • Qnt drawCalls (indexado)
    17. 17. Algumas dicas… 17
    18. 18. Encontrando gargalos • Faz-se experimentos com o pipeline da GPU • É a forma mais fácil de se encontrar gargalos.
    19. 19. Beacon Mountain
    20. 20. Beacon Mountain v0.6.1 • Ambiente de desenvolvimento NDK em ARM* e Intel® Atom™ Devices • Ferramentas para Design, desenvolvimento e debug • Notificações de Update Grátis e de fácil instalação: intel.com/software/BeaconMountain
    21. 21. Beacon Mountain v0.6.1 • Ferramentas Intel x86  Intel® Hardware Accelerated Execution Manager  Intel® GPA System Analyzer  Intel® IPP  Intel® TBB  Intel® Software Manager • Outras ferramentas para ARM/x86  Google* Android SDK (ADT Bundle)  Android NDK  Eclipse* Integrated Development Environment  Android Design  Cygwin*
    22. 22. Take Away • Beacon Mountain • Ambiente android para desenvolvimento NDK em ARM e x86 • HAXM: • Se sua cpu é x86 ganhe de 5x – 10x de velocidade. • GPA: • Ferramenta para encontrar gargalos. • Intel C++ Compiler for Android: • Compile uma vez para melhorar seu binário.
    23. 23. • Q/A
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×