2020-10-10 – Colocar uma box de FPS (Frames Per Second) no meu Game Engine em C/C++…

1200 FPS? Já explico (imagem de há 6 dias atrás). 😛

O que fiz “hoje”? Uma função/classe que desenha rectângulos translúcidos com texto, e neste caso passei a ver os FPS (Frames Per Second) no próprio jogo ao invés de ver na consola. Aquele rectângulo azul com texto, foi o trabalho de algum tempo livre hoje.

E 1200 FPS? Sim, isto foi optimizado ainda mais (tenho andado a melhorar o código que estava algo à pressa), e é este o poder do C++, numa máquina super velha, com uns 6 anos (uso portáteis durante muito tempo), sem aceleração, com um Celeron 1600 (a bateria durava mais tempo e eu sou pró-poupar energia), etc, faz 1200 FPS e a ocupar (vejam à direita) uns 40% do CPU. Quer dizer que aguentaria na realidade com uns 3000 FPS, ou seja, processaria todo o jogo, e desenharia, com música incluída, 3000 vezes por segundo. E bastam 60 FPS para que o jogo seja fluído. 😜

E se fosse em full screen seria 4 vezes mais rápido (3000 a 6000 FPS neste PC), e num shooter (mais leve, sem gravidade e outras leis da Física), tem por norma o dobro, seria 6000 a 12000 (1.200.000 frames por segundo nalgumas máquinas).

E eu estava no ecrã inicial, se virem à esquerda que sem querer cortei, os FPS estavam definidos para 3000 FPS (mas só deu 1200 FPS porque o Linux cortou o processo para apenas um core), mas mexia tudo tão rápido que eu tocava numa tecla e caía logo em cima deles e perdia lol, são FPS reais. É o que dá criar um jogo do zero ao invés de alguns que usam game engines na Internet que criam jogos gigantescos e super lentos e limitados. Este é poder total. No limits! 😜

Agora imaginem em máquinas 100 vezes mais rápidas (há processadores mesmo 100 vezes mais rápido e se tiverem placas gráficas ainda mais rápidos ficam), e poderão ter centenas de milhares de FPS, quando apenas são necessários 60.

É a micro-optimização que tanto gosto, em funcionamento. O C e o C++ têm esse poder, e eu uso-o.

E nem uso smart-pointers como alguns usariam, pois às vezes até compensam, mas noutras são mais pesados, raramente os uso (só quando fica mais rápido). Uso normalmente raw pointers e tudo, é mesmo à boss, daqueles que basta um esquecimento e o jogo crasha sem sabermos onde hehehe.

Bem, daqui a dias terei outras novidades.

Agora é sempre a andar.

O vídeo está no browser porque com experiências rebentei sem querer com os codecs todos, e só abre vídeos agora no browser, e ainda não tive paciência para resolver lol.

É engraçado que, se o meu lema principal de vida sempre foi “Se é possível, eu consigo!”, porque raios nunca me lembrei de criar videojogos, se sabia que, inevitavelmente, iria conseguir, tal como tudo o que tenho tentado na vida?

Estou arrependido de não ter começado há mais tempo, que isto é o “trabalho” mais divertido que alguma vez tive. 🙂

2020-10-10.

Leave a Reply

Your email address will not be published. Required fields are marked *

RSS
Follow by Email
LinkedIn
LinkedIn
Share