3 RESULTADOS
3.2 Análise dos cenários
Os testes realizados com os cen taxa de geração de imagens ou
dessa análise é verificar se essa taxa alcan
incorporado a um motor de jogo, sem trazer preju
serão apresentadas as analises feitas de acordo com os resultados obtidos para cada cen Primeiramente foi fe
ao longo da simulação de cada cenário utilizando 2500 partículas distribuídas em um quadrado de 10x10 células.
Depois, para o cenário de gota de água, foram feitas simulações variando o
partículas e de células para analisar como esses dois parâmetros influenciam no desempenho do SPH.
Para fazer a análise do
quinze segundos e anotados a quantidade de frames gerado pelo si
resultados dessa simulação podem ser visualizados na forma de gráficos na para versão CPU como a versão GPU.
Figura 15 - Evolução do fluido no cenário lâmina de água.
Análise dos cenários
Os testes realizados com os cenários descritos anteriormente têm o objetivo de aferir a o de imagens ou frame rate, medido em frames por segundo
verificar se essa taxa alcançada é suficiente para que o m
incorporado a um motor de jogo, sem trazer prejuízos no seu desempenho final. A seguir o apresentadas as analises feitas de acordo com os resultados obtidos para cada cen
Primeiramente foi feita a análise do desempenho do simulador, em suas duas versões, ao longo da simulação de cada cenário utilizando 2500 partículas distribuídas em um quadrado de 10x10 células.
Depois, para o cenário de gota de água, foram feitas simulações variando o
partículas e de células para analisar como esses dois parâmetros influenciam no desempenho
fazer a análise do cenário gota de água, foi executada uma simulação durante quinze segundos e anotados a quantidade de frames gerado pelo simulador a cada segundo. Os resultados dessa simulação podem ser visualizados na forma de gráficos na
para versão CPU como a versão GPU.
Evolução do fluido no cenário lâmina de água.
m o objetivo de aferir a , medido em frames por segundo (FPS). O objetivo suficiente para que o método SPH possa ser zos no seu desempenho final. A seguir o apresentadas as analises feitas de acordo com os resultados obtidos para cada cenário.
ita a análise do desempenho do simulador, em suas duas versões, ao longo da simulação de cada cenário utilizando 2500 partículas distribuídas em um grid
Depois, para o cenário de gota de água, foram feitas simulações variando o número de partículas e de células para analisar como esses dois parâmetros influenciam no desempenho
, foi executada uma simulação durante mulador a cada segundo. Os resultados dessa simulação podem ser visualizados na forma de gráficos na Figura 16, tanto
Figura 16 – Gráfico de frames por segundo no cenário gota de água.
A partir análise do gráfico da Figura 16 é possível concluir que no início a simulação a taxa de frames por segundos é mais baixa do que a média da simulação. Isso se deve ao fato de que as partículas estão todas concentradas nas células centrais do grid, aumentando o número de vizinhos de cada partícula e conseqüentemente exigindo uma quantidade maior de cálculos de forças.
Comparando o desempenho das duas versões do simulador (CPU e GPU), como era esperado, a versão GPU obteve um desempenho melhor do que a versão CPU. Isso acontece devido ao fato dos cálculos serem feitos em paralelo e com uma velocidade maior.
Para 2500 partículas, como mostrado na Figura 16, a versão GPU conseguiu atingir uma taxa de 13,7 FPS contra uma taxa de 2,44 para CPU, praticamente seis vezes mais rápida. Essa diferença de desempenho é aguçada à medida que o número de partículas aumenta. Porém, esse aumento na diferença possui um fator limitante vinculado à quantidade de
threads disponíveis na GPU. Caso o número de partículas seja superior ao número stream processors, os quais definem o número de threads da GPU, haverá uma maior latência para o
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CPU 0,75 1,57 1,62 1,62 1,7 1,72 1,69 1,8 1,83 1,87 1,95 2,09 2,14 2,33 2,44 GPU 4,87 7,4 12,2 14,4 12,8 12,7 14,2 14,8 14,7 14,3 14,1 13,8 13,7 13,6 13,7 0 2 4 6 8 10 12 14 16 F ra m e s Segundos
Gota de água com 2500 partículas e GRID
10x10
processamento de algumas partículas. Portanto, a partir desse valor limite a diferença de desempenho tenderá a se estabilizar.
Outra análise feita foi sobre o cenário de lamina de água. Nesse cenário também foram feitas simulações, com duração de quinze segundos, utilizando as duas versões da ferramenta desenvolvida. Os resultados dessas simulações podem ser vista no gráfico da Figura 17.
Figura 17 - Gráfico de frames por segundo no cenário lâmina de água.
Ao contrario do que ocorre no cenário de gota de água, onde as partículas estão concentradas no centro do recipiente no inicio da simulação fazendo com a taxa de frames por segundos no inicio da simulação seja mais baixa que no decorrer da mesma, neste cenário a taxa de frames por segundos mantém a mesma faixa de valores desde o início da simulação. Isso ocorre porque as partículas desde o início da simulação ficam igualmente distribuídas na célula do grid, fazendo com que o número de vizinhos de cada partícula seja menor, exigindo assim uma menor quantidade de cálculos para calcular as forças.
Como o número de cálculos realizados é menor, neste cenário a versão GPU do simulador foi duas vezes e meia mais rápida do que a versão CPU. Para 2500 partículas a taxa atingida na GPU foi de 14,2 FPS contra 5,45 FPS da CPU.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CPU 1,7 3,6 5,1 5,2 5,2 5,2 5,2 5,3 5,2 5,3 5,3 5,3 5,3 5,3 5,4 GPU 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0,00 2,00 4,00 6,00 8,00 10,00 12,00 14,00 16,00 F ra m e s Segundos
Lâmina de água com 2500 partículas e
GRID 10x10
Assim como nos outros cenários, para obter resultados no cenário de queda d’agua foram feitas simulações, utilizando as duas versões da ferramenta desenvolvida. Os resultados dessas simulações podem ser vista no gráfico da Figura 18.
Figura 18 - Gráfico de frames por segundo no cenário de queda d’água.
Um ponto interessante na distribuição das partículas deste cenário é que inicialmente elas estão concentradas nas células do lado esquerdo do grid, o que faz com que o número de partículas vizinhas a serem avaliadas para o calculo das forças seja grande. À medida que a simulação vai evoluindo, as partículas começam a se espalhar e preencher as células da direita, o que levaria a uma diminuição de vizinhança entre as partículas levando o simulador encontre uma quantidade menor de partículas vizinhas por partícula e aumentando o seu desempenho.
Porém, como as partículas estão se movendo também para as células de baixo do grid, apesar de se espalhar nas células da esquerda para a direita, elas passam a ocupar apenas a células inferiores do grid, aumentando a concentração de partículas e conseqüentemente o
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CPU 2,27 2,28 2,3 2,26 2,31 2,25 2,3 2,21 2,29 2,16 2,12 2,04 2,05 1,97 1,9 GPU 6,22 6,43 6,84 7,25 7,16 6,86 6,63 6,35 6,14 5,89 5,63 5,49 5,7 6,05 6,57 0 1 2 3 4 5 6 7 8 F ra m e s Segundos
Queda d'água com 2500 partículas e
GRID 10x10
número de vizinhos associados. Por conta desse fato, a taxa de frames por segundo gerado no decorrer das simulações mantém uma média, tanto na GPU como na CPU.
Acompanhando o comportamento das outras simulações realizadas neste trabalho, a versão GPU do simulador obteve um desempenho mais alto do que a versão CPU. Utilizando 2500 partículas durante a simulação, a GPU foi três vezes mais rápida, chegando a atingir 7,25 FPS enquanto a CPU conseguiu atingir somente 2,31 FPS.