2024-10-03 – Testando Multi-Threading com a Chuva do meu Game Engine em C++…
Hoje quero mostrar-vos algo de diferente, já que trabalho com Multi-Threading como sempre, mas nunca o mostrei, e também para efeitos de ensino, seja para formandos ou para quem queira acompanhar o meu trabalho, e também explicar as melhorias que fiz à chuva.
Aqui estou a testar a Chuva funcionando em threads separadas (Multi-Threading), no meu Game Engine em C++:
Isto usando obviamente Linux, pois é o meu sistema de eleição.
A meio podem ver que eu ligo e desligo a chuva várias vezes, e podem ver a thread usada pela chuva a aparecer e desaparecer ao lado, fiz com que a thread desaparecesse mesmo quando eu desligava a chuva e não apenas congelasse, para efeitos demonstrativos.
Podem ver ampliado aqui:
Claro que isto não é assim que deve ser feito ou se houver 20 threads num jogo com 300 FPS, teríamos 6000 threads abertas por segundo, o que é overkill, eu só fiz isto assim para demonstrar a quem queira ver um pouco sobre threads.
No post seguinte podem ver o sistema já pronto, com mais explicações, e onde explico como fiz para não abrir 1001 threads por segundo:
Eu tenho estado há meses com tanto trabalho que nunca mais mexi no meu Game Engine nestes meses, com a excepção do placard publicitário no meu dia de anos.
E agora tive algumas horinhas livres e vou começar a ter mais tempo livre, e quis matar saudades do meu projecto favorito.
E é difícil não compreender porque o adoro certo?
É importante referir que também fiz melhorias ao meu algoritmo de chuva, aumentando muito a sua performance, pois recriei os mecanismos com que é renderizada no ecrã, para aumentar a sua velocidade, e em simultâneo metê-la também em Multi-Threading.
Pois como todos sabemos, que serve termos processadores com muitas cores e threads se não tiramos proveito deles?
No exemplo acima há perto de 4000 gotas de chuva e eventuais splashes no ecrã em simultâneo.
Falta-me apenas melhorar também o meu nível de testes, aquele que já conhecem:
Eu adoro este projecto e quero ver se em breve recupero o tempo perdido nele.
Pois um dia quero criar jogos maravilhosos com ele, pois estou a criá-lo de forma a que possa criar jogos lindíssimos graficamente, e magníficos em jogabilidade.
A ver se é no próximo ano que lanço o meu primeiro remake.
O objectivo já sabem, é criar uma espécie de “hiper-realismo” dentro do Retro-Gaming em 2D.
E este magnífico som (música que não é minha) a dar um ambiente incrível ao jogo, fazendo-me lembrar o que sentia no jogo “Ugh!” ao ouvir a música e ver cair a neve.
É maravilhoso!
Bem, até à próxima!
2024-10-03.
Partilhado no mesmo dia no meu LinkedIn, em:
Próximo post:
Post anterior, associado ao meu Algoritmo de Matrix:
Post anterior, associado ao meu Game Engine:
Post anterior, associado ao meu Algoritmo de Chuva: