Com o avanço da tecnologia, principalmente no decorrer dos últimos 30 anos, chegamos a uma época em que a grande maioria dos profissionais de desenvolvimento de software e tecnologia, “terceirizaram o desenvolvimento” para os diversos frameworks existentes nas mais diversas linguagens, limitando assim muito o potencial da própria solução que se propõe a resolver.
Infelizmente técnicas simples e eficazes, outrora largamente utilizadas no passado, passam despercebidas hoje e sequer são implementadas pois esperamos que uma peça pronta o faça para nós.
Uma dessas técnicas é conhecida como double-buffering, amplamente utilizada em jogos e comunicação de dados desde os primórdios da computação, principalmente depois que dispositivos baseados em DMA passaram a ser mais populares e acessíveis do que os dispositivos baseados em portas (Port Mapped I/O), possibilitando assim um paralelismo “implicito” feito por hardware e software.
A indústria de jogos tem utilizado a técnica de double buffering, por exemplo, para evitar o “flickering” ao se desenhar diretamente no dispositivo de vídeo, em alta velocidade, o que geralmente causa perda e/ou corrupção de frames gerando esse efeito indesejado, dentre outros usos.
No campo da comunicação de dados, double buffering tem sido amplamente utilizado principalmente em processamento de dados que exigem um certo grau de paralelismo, o que é comumente encontrado em qualquer modelo simples de produtor/consumidor.
Como infelizmente perdemos anos preciosos de nossas vidas terceirizando as soluções que deveríamos ter feito nós mesmos, sugiro agora um pequeno “atalho” que é esse vídeo abaixo, bem como sugiro que se inscrevam no canal do cara do vídeo, que contém vídeos rápidos sobre diversas técnicas extremamente úteis e talvez por isso tenha poucos views e inscritos.
[]’s
PopolonY2k
Referência na internet