Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Otimização em Unity 
Fazendo seu jogo rodar no PC da sua avó
Otimização em Unity 
Fazendo seu jogo rodar no PC da sua avó 
(e no celular da sua avó)
Como? 
E quais os problemas mais comuns?
Problemas de otimização 
• Abuso de iluminação dinâmica 
• Muitas draw calls 
• Muitos objetos na cena 
• Muitos vértices ...
Nível 1 
Aproveitando o que a Unity tem a oferecer
Lightmaps & Light Probes 
• Lightmaps 
• Cálculo de luz em tempo de projeto 
• Prós 
• Número arbitrário de luzes 
• Permi...
Lightmaps & Light Probes 
• Light probes 
• Aproximação de luz global para 
objetos dinâmicos 
• Prós 
• Melhora iluminaçã...
Static & Dynamic batching 
• Batching: combina objetos que utilizam mesmo material em uma 
única draw call 
• Static batch...
Occlusion culling 
• Desliga o rendering de objetos que estão totalmente ocludidos por 
outros na cena 
• Requer pré-cálcu...
Nível 2 
Otimização na criação de Assets
Cuidados constantes na criação 
• Contagem de polígonos e vértices 
• Personagens e cenário 
• Escolher onde gastar seu “o...
Complexidade de shaders 
• Considerar o shader certo para cada situação 
• Aquela peça de decoração não precisa de 5 mapas...
Shader Model 2.0
Texture Atlas 
• Assets que utilizam o mesmo 
shader podem compartilhar o 
material… 
• Se suas texturas forem combinadas ...
Reutilização de assets 
• Model & texture once, use everywhere 
• Reduz o custo de criação e de runtime 
• Menos malhas e ...
Nível 3 
Otimização de tamanho de arquivo
Utilizando assets com inteligência 
• Texturas 
• Resolução 
• Compressão 
• Som 
• Sample rate 
• Formato 
• Bitrate 
• M...
Asset bundles!
Trick Question 
• Qual o tamanho desta textura 
no build? 
• 512x512 
• Diffuse + Normal
Trick Question 
• 2MB?
Trick Question 
• 2MB? 
• 1MB?
Trick Question 
• 2MB? 
• 1MB? 
• 512KB?
Trick Question 
• 2MB? 
• 1MB? 
• 512KB? 
• 256KB?
Trick Question 
• 2MB? 
• 1MB? 
• 512KB? 
• 256KB? 
• 128KB?
Trick Question 
• 2MB? 
• 1MB? 
• 512KB? 
• 256KB? 
• 128KB? 
• 64KB?
Trick Question 
• 2MB? 
• 1MB? 
• 512KB? 
• 256KB? 
• 128KB? 
• 64KB? 
• 32KB?
Trick Question 
• 2MB? 
• 1MB? 
• 512KB? 
• 256KB? 
• 128KB? 
• 64KB? 
• 32KB? 
• 16KB?
Trick Question 
• 2MB? 
• 1MB? 
• 512KB? 
• 256KB? 
• 128KB? 
• 64KB? 
• 32KB? 
• 16KB? 
• 8KB?
Trick Question 
• 2MB? 
• 1MB? 
• 512KB? 
• 256KB? 
• 128KB? 
• 64KB? 
• 32KB? 
• 16KB? 
• 8KB? 
• 4KB?
Trick Question 
• 2MB? 
• 1MB? 
• 512KB? 
• 256KB? 
• 128KB? 
• 64KB? 
• 32KB? 
• 16KB? 
• 8KB? 
• 4KB? 
3,72KB
~20MB
~20MB (quase tudo lightmap)
Nível 4 
Soluções criativas
Sombras dinâmicas?
Sombras dinâmicas? 
Nope, Chuck Testa
Nível 4 
Cuidados com programação
Armadilhas na API da Unity 
• FindObject[OfType] 
• GetComponent[s]InChildren 
• GetComponent 
• renderer.material
Cuidados gerais 
• Não refazer cálculos quando as entradas não mudam 
• Calcule a primeira vez, guarde para consulta 
• Nã...
Mais alternativas 
• Desligar objetos “inúteis” para evitar gastar CPU 
• Update, FixedUpdate 
• Física 
• Culling 
• Mult...
Perguntas? 
Bruno “Tinnus” Ferreira 
tinnus@gmail.com 
bruno.ferreira@aquiris.com.br
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Prochain SlideShare
Chargement dans…5
×

Otimização em Unity: fazendo seu jogo rodar no PC da sua avó

6 030 vues

Publié le

Palestra sobre otimização em Unity e dicas gerais para criação de assets para jogos extraindo o máximo de performance.

Publié dans : Ingénierie
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

Otimização em Unity: fazendo seu jogo rodar no PC da sua avó

  1. 1. Otimização em Unity Fazendo seu jogo rodar no PC da sua avó
  2. 2. Otimização em Unity Fazendo seu jogo rodar no PC da sua avó (e no celular da sua avó)
  3. 3. Como? E quais os problemas mais comuns?
  4. 4. Problemas de otimização • Abuso de iluminação dinâmica • Muitas draw calls • Muitos objetos na cena • Muitos vértices e polígonos por objeto • Texturas com resolução muito alta • Shaders pesados • Muitas texturas diferentes • Muitas malhas diferentes • Tamanho final do build muito grande • Abuso de features gráficas: sombras, pós-processamento • Scripts lentos
  5. 5. Nível 1 Aproveitando o que a Unity tem a oferecer
  6. 6. Lightmaps & Light Probes • Lightmaps • Cálculo de luz em tempo de projeto • Prós • Número arbitrário de luzes • Permite efeitos complexos • Custo baixíssimo em runtime • Contras • Só funciona em objetos estáticos
  7. 7. Lightmaps & Light Probes • Light probes • Aproximação de luz global para objetos dinâmicos • Prós • Melhora iluminação em objetos dinâmicos • Funciona com shaders padrão e é fácil de adicionar nos seus shaders • Contras • Menos preciso • Informação de luz de baixa frequência
  8. 8. Static & Dynamic batching • Batching: combina objetos que utilizam mesmo material em uma única draw call • Static batching • Combinação em tempo de projeto para objetos estáticos • Dynamic batching • Funciona automagicamente em runtime com todos os objetos • Porém, tem um custo mais alto de CPU
  9. 9. Occlusion culling • Desliga o rendering de objetos que estão totalmente ocludidos por outros na cena • Requer pré-cálculo e ajuste em tempo de projeto • Oclusores precisam ser estáticos, mas ocludidos podem ser dinâmicos
  10. 10. Nível 2 Otimização na criação de Assets
  11. 11. Cuidados constantes na criação • Contagem de polígonos e vértices • Personagens e cenário • Escolher onde gastar seu “orçamento” • Trade-offs entre complexidade na malha e no shader • Malha usada na física • Resolução de texturas • Memória de vídeo é limitada • Escolher, de novo, onde gastar o orçamento • Tamanho da textura exibida na tela • Detalhes de alta frequência são uma ideia perigosa
  12. 12. Complexidade de shaders • Considerar o shader certo para cada situação • Aquela peça de decoração não precisa de 5 mapas de detalhe + normal + specular + cubemap + AO • Colocar um target estrito e baixo nos shaders… • Por exemplo, Shader Model 2.0 • Garante um custo baixo • Incentiva programação bem otimizada
  13. 13. Shader Model 2.0
  14. 14. Texture Atlas • Assets que utilizam o mesmo shader podem compartilhar o material… • Se suas texturas forem combinadas em uma só • Extremamente importante • Static & Dynamic Batching
  15. 15. Reutilização de assets • Model & texture once, use everywhere • Reduz o custo de criação e de runtime • Menos malhas e texturas únicas • Menos memória • Especialmente relevante em mobile… • Reutilização criativa evita a repetição
  16. 16. Nível 3 Otimização de tamanho de arquivo
  17. 17. Utilizando assets com inteligência • Texturas • Resolução • Compressão • Som • Sample rate • Formato • Bitrate • Malhas • Compressão • Remoção de polígonos inúteis • Animações • Compressão • Reutilização • Layers • Mixing Transforms • Animações aditivas
  18. 18. Asset bundles!
  19. 19. Trick Question • Qual o tamanho desta textura no build? • 512x512 • Diffuse + Normal
  20. 20. Trick Question • 2MB?
  21. 21. Trick Question • 2MB? • 1MB?
  22. 22. Trick Question • 2MB? • 1MB? • 512KB?
  23. 23. Trick Question • 2MB? • 1MB? • 512KB? • 256KB?
  24. 24. Trick Question • 2MB? • 1MB? • 512KB? • 256KB? • 128KB?
  25. 25. Trick Question • 2MB? • 1MB? • 512KB? • 256KB? • 128KB? • 64KB?
  26. 26. Trick Question • 2MB? • 1MB? • 512KB? • 256KB? • 128KB? • 64KB? • 32KB?
  27. 27. Trick Question • 2MB? • 1MB? • 512KB? • 256KB? • 128KB? • 64KB? • 32KB? • 16KB?
  28. 28. Trick Question • 2MB? • 1MB? • 512KB? • 256KB? • 128KB? • 64KB? • 32KB? • 16KB? • 8KB?
  29. 29. Trick Question • 2MB? • 1MB? • 512KB? • 256KB? • 128KB? • 64KB? • 32KB? • 16KB? • 8KB? • 4KB?
  30. 30. Trick Question • 2MB? • 1MB? • 512KB? • 256KB? • 128KB? • 64KB? • 32KB? • 16KB? • 8KB? • 4KB? 3,72KB
  31. 31. ~20MB
  32. 32. ~20MB (quase tudo lightmap)
  33. 33. Nível 4 Soluções criativas
  34. 34. Sombras dinâmicas?
  35. 35. Sombras dinâmicas? Nope, Chuck Testa
  36. 36. Nível 4 Cuidados com programação
  37. 37. Armadilhas na API da Unity • FindObject[OfType] • GetComponent[s]InChildren • GetComponent • renderer.material
  38. 38. Cuidados gerais • Não refazer cálculos quando as entradas não mudam • Calcule a primeira vez, guarde para consulta • Não refazer o mesmo cálculo em vários lugares • Centralize o cálculo (por exemplo em um Manager) • Distribuir cálculo pesado por vários frames • Exemplo: determinar visibilidade entre todos os jogadores • Tradeoff: desempenho X precisão • Quase sempre a precisão não precisa ser de um frame…
  39. 39. Mais alternativas • Desligar objetos “inúteis” para evitar gastar CPU • Update, FixedUpdate • Física • Culling • Multithreading para computação pesada • !!CUIDADO!! – API da Unity *NÃO* é thread-safe • Mas um bom isolamento de código vai longe • Exemplo clássico: IA
  40. 40. Perguntas? Bruno “Tinnus” Ferreira tinnus@gmail.com bruno.ferreira@aquiris.com.br

×