segunda-feira, 10 de março de 2008

[MHI] - GDI , MCI , DirectX - 10/03/2008

GDI

O GDI, ou Graphics Device Interface, é um dos três subsistemas principais do Microsoft Windows. É um padrão desse sistema operacional para representar objectos gráficos e transmiti-los para dispositivos de saída, como monitores e impressoras.
É responsável por tarefas como desenhar linhas, curvas e fontes, providenciando todo um API específico para a execução dessas operações. A capacidade mais relevante do GDI é a abstracção dos dispositivos finais de visualização. Utilizando o mesmo código fonte pode-se esperar resultados idênticos em qualquer monitor ou impressora.
Devido à sua inadequação para suportar jogos com efeitos gráficos complexos, o DirectX foi desenvolvido pela Microsoft. Este providencia um API mais adequado a essas utilizações.
Pontos fortes:
  • Abstração completa do hardware de saída;
  • API de utilização simples;
  • Integrado de origem na plataforma.

http://pt.wikipedia.org/wiki/GDI

MCI
A interface de controle de mídia - MCI é uma linguagem de comandos padronizada para comunicação com dispositivos de multimídia, como compact disc, áudio em forma de onda (wave) e MIDI (Musical Instrument Digital Interface), videodiscos, arquivos AVI (Audio-Vídeo Interleaved), mixer de áudio, etc. A especificação MCI, liberada em 1991 pela Microsoft e IBM, define um conjunto de comandos básicos, que podem ser aplicados a qualquer dispositivo em geral, e comandos estendidos para tipos específicos de dispositivos [MUS93]. Estes comandos estão disponíveis através de dois tipos de interface de programação dentro da MCI [MIC94]:
· a interface de strings de comando: permite que o programador use comandos na língua inglesa para se comunicar com os dispositivos MCI. Por exemplo, a string de comando seguinte reproduz um arquivo WAVE chamado "TIMPANI.WAV"": play tani.vav. A interface de strings de comando foi projetada para ser usada com programação de alto nível e ambientes de autoria, como o Microsoft
Visual Basic e Asymetrlx ToolBook. As aplicações provêem uma interface baseada em texto permitindo aos usuários controlar os dispositivos MCI através do uso da interface de strings de comando;
· a interface de mensagens de comando: utiliza o paradigma da passagem de mensagens para se comunicar com os dispositivos MCI. Por exemplo, o fragmento seguinte de código realiza a mesma operação do exemplo anterior de string de comando:
mciSendCommad(wDevlceID, /* device ID */
MCI_PLAY, /* command message */
O, /* flags */
(DWORD)(LPVOID) &mciPlayParms); /* parameter block*/.
A interface de mensagens de comando foi projetada para ser utilizada por aplicações que requeiram uma interface em linguagem C para controlar os dispositivos de multimídia.
Porém, como a MCI procura abstrair vários detalhes de implementação, acaba por conseqüência não permitindo um controle muito próximo dos dispositivos de multimídia. Desta forma, para se alcançar o controle do dispositivo de som que realiza as operações de digitalização e sintetização de forma de onda (WAVE), necessário para a captação e tratamento da fala, foi preciso mesclar a utilização de alguns comandos da MCI, onde era possível facilitar a implementação, com as funções de baixo nível da API do Windows.
DIRECTX
Microsoft DirectX é uma coleção de APIs que tratam de tarefas relacionadas a programação de jogos para o sistema operacional Microsoft Windows, ou seja, é quem padroniza a comunicação entre software e hardware. O DirectX foi inicialmente distribuido pelos criadores de jogos junto com seus produtos, mas depois foi incluido no Windows.
Não haverá mais revisões do DirectX, pelo menos não com o mesmo nome, segundo as empresas ATI, nVidia e Microsoft. No lugar do DirectX, será lançada uma nova geração de APIs gráficas, Windows Graphics Foudation e Avalon. É previsto que sejam lançados com o Windows Vista.
A cada nova versão que surge, há novidades e melhores desempenhos para determinados jogos e programas. Por exemplo, um usuário deseja rodar um jogo que é compatível com o DirectX 9.0 ou superior, porém sua placa de vídeo (que possue as instruções de como executar o DirectX) ainda usa o DirectX 8.0. Quando rodar o jogo, ele pedirá instruções que existem somente nas versões a patir da 9.0. Como o usuário ainda está com a versão 8.0, ele não reconhecerá a instrução e dará um "jeitinho", assim o resultado final não terá a qualidade total que o jogo ou programa oferece.
Para saber qual a versão instalada, vá em Inciar>Executar. Depois digite "Dxdiag" (sem aspas). Nas "Informações do sistema", na última linha haverá a "Versão do DirectX", onde mostra que versão você está utilizando.
DirectX 1.0: 4.02.0095
DirectX 2.0: 2.0a 4.03.00.1096
DirectX 3.0: 3.0a 4.04.0068
DirectX 5.0: 4.05.01.1721 (lançado no Windows 98)
DirectX 6.0: 4.06.02.0436 (lançado no Windows 98 SE)
DirectX 7.0: 4.07.00.0700 (lançado no Windows 2000 e Windows ME)
DirectX 8.0: 4.08.00.0400
DirectX 8.1: 4.08.01.0811 (lançado no Windows XP e Windows Server 2003)
DirectX 9.0: 4.09.0000.0900
DirectX 9.0a: 4.09.0000.0901
DirectX 9.0b: 4.09.0000.0902
DirectX 9.0c: 4.09.0000.0904 (última versão)
DirectX 9.0l: (L para legacy, implementação do DX9 para Windows Vista)
DirectX 10.0 6.0.6000.16386 (lançado no Windows Vista)
DirectX 10.1 (lançado no Service Pack 1 para Windows Vista)
* Não há uma versão 4.
O Windows Vista trouxe o DirectX 10 e o lançamento do Service Pack 1 trará o DirectX 10.1.
Este novo DirectX terá diversas particularidades, quer a nível de performance quer a nível de gastos.
Esta actualização terá duas vertentes: O Vista terá de ser actualizado para a versão mais recente, bastando para isso instalar o SP1 ( a ser lançado no primeiro trimestre de 2008), e terá de comprar ou possuir uma placa compatível com as novas especificações deste DirectX.
O novo DirectX trará diversas correcções e optimizações. Destas destaca-se o Pixel Shader 4.1.
Serão também introduzidas novas capacidades no que toca a texturas e anti-aliasing.

Nenhum comentário: