Para testar isso, montei um cenário específico com os objetos dos cogumelos. Cada grupo de cogumelos possui 3 cogumelos distintos. Cada grupo ficou com aproximadamente 1.500 tris e criei na cena 256 grupos, totalizando 384.000 tris. O cenário ficou assim:
Em seguida fiz 4 testes para esse cenário. Para cada teste eu medi:a) Frames per Second dentro do editor do Unity.
b) Frames per Second de um build Windows Standalone, 1600x900, qualidade Good.
c) Draw Calls
d) Tempo médio de Render de 1 frame
Os testes foram:
Teste1: Execução normal, sem combinação de malhas.
Teste2: Cada grupo de cogumelos com as malhas dos seus cogumelos individuais combinadas.
Teste3: Os grupos de cogumelos do teste 2 divididos em 2 GameObjects, também com malhas combinadas.
Teste4: Igual ao teste 3, mas com combinação de malhas apenas nos 2 GameObjects "pais".
Os resultados dos testes estão na imagem abaixo:

Os testes foram feitos em um desktop Core i7 com 12G de RAM mas, independentemente da capacidade da minha máquina, ficou evidente o benefício significativo que teremos com a combinação de malhas. É curiosa a pequena melhora em desempenho quando apenas os objetos raíz da hierarquia de cogumelos possuem a combinação de malhas e não os pais de cada grupo de cogumelos.
Assim que puder, farei este mesmo teste no meu Notebook Vaio, Core Duo com 1GB.
0 comentários:
Postar um comentário