Criei o costume de utilizar o
Tilda, um simulador de terminal de shell baseado em GTK, que se comporta como o terminal de comandos do Quake, subindo e descendo como uma cortina. Mas percebi que o efeito de subir e descer do Tilda estava lento e então percebi que o DRI estava inativo, o que me motivou a ativá-lo e escrever este artigo. :)
O que é DRI
O
DRI (Direct Rendering Infrastructure), também conhecido como aceleração de hardware 3D, é um framework para permitir acesso direto ao hardware da placa de vídeo através do sistema de janelas X, de uma forma eficiente e segura.
Por exemplo, jogos ou programas gráficos podem enviar comandos diretamente para a placa de vídeo, enquanto a CPU fica livre para realizar outros trabalhos. Isso é conhecido como renderização direta, ou direct rendering. Isso inclui modificações no servidor X, em algumas bibliotecas e pelo kernel (
DRM, Direct Rendering Manager).
O uso mais importante do DRI é criar implementações rápidas no
OpenGL, oferecendo aceleração de hardware para o Mesa. Muitos drivers acelerados 3D tem sido escrito para a especificação, incluindo drivers para os chipsets produzidos por 3DFX, AMD (formalmente ATI), Intel e Matrox.
Uma boa motivação para se ativar o DRI é executar o comando "glxgears" e observar o comportamento das engrenagens 3D. Se o recurso não estiver ativo, geralmente pode-se observar que as engrenagens se movimentam com dificuldade e em baixa velocidade. Com o recurso ativo, utilizando a placa de vídeo Intel 82852/855GM, obtive o pico de 2397 frames in 5.0 seconds = 479.355 FPS como saída do glxgears. Com o DRI inativo obtia no máximo 300 FPS.
Algumas distribuições
GNU/Linux podem ativar o DRI automaticamente, mas em muitos casos é preciso fazer isso manualmente. Para verificar se o recurso DRI está ativo, digite:
glxinfo | grep rendering