Olá, estudante! Nesta segunda lição, nossa atenção será dedicada ao estudo de Dispositivos Gráficos. Desta forma, nosso objetivo será explorar o universo da computação gráfica e seus impactos na criação de sistemas, desde os visuais até os interativos.
É fundamental que você desenvolva uma compreensão sólida dos conceitos fundamentais relacionados aos dispositivos gráficos. Isso inclui a compreensão das capacidades da GPU – Unidade de Processamento Gráfico, em português –, APIs gráficas, resolução de tela e taxa de atualização. Esses conhecimentos serão as bases para seu crescimento nesta área.
Além de entender os conceitos, também é relevante que você saiba como aplicar esses conhecimentos na prática. Ao longo desta lição, você será incentivado(a) a criar interfaces gráficas eficazes, desenvolver gráficos 2D e 3D e otimizar o desempenho gráfico em aplicativos e jogos. A aplicação prática é essencial para solidificar seu aprendizado.
Os dispositivos gráficos desempenham um papel crucial em diversos setores, como design, entretenimento, realidade virtual (RV), simulação, educação e saúde. É importante que você compreenda como esse conhecimento pode abrir portas para oportunidades de carreira em alta demanda no mercado de trabalho.
Além de dominar os aspectos técnicos, você também irá explorar sua criatividade nesta jornada. Será desafiado a utilizar os dispositivos gráficos não apenas para transmitir informações, mas também para criar experiências visuais cativantes e emocionantes. Aprenderá como os dispositivos gráficos podem ser uma ferramenta poderosa para contar histórias e despertar emoções nos usuários.
Por fim, esta lição também enfatizará o desenvolvimento de habilidades de colaboração e resolução de problemas. Você terá a oportunidade de trabalhar em equipe para enfrentar desafios relacionados aos dispositivos gráficos e apresentar soluções inovadoras. A colaboração é essencial no mundo profissional, e a capacidade de resolver problemas de forma criativa é altamente valorizada.
Vamos imaginar juntos um mundo onde a representação visual e a comunicação estivessem restritas ao uso exclusivo de texto. Parece cena de filme de terror daqueles em que se fizer barulho, uma espécie de alienígena nos machuca, não é mesmo? Mas não precisamos imaginar tão a fundo. Imagine que, nesse cenário hipotético, todas as informações, desde a interação com aplicativos até a navegação na internet, são expressas apenas por palavras escritas. Numa breve revisita ao conteúdo da disciplina de Ciência da Computação, você relembrar que já houve “tempos sombrios” como este, o período computacional antes das interfaces gráficas, quando os sistemas operacionais ainda eram apresentados em texto, exemplo o DOS.
Mas, voltando a pauta da lição. Quais seriam as limitações dessa abordagem? Já pensou como isso afetaria a experiência e a jogabilidade do usuário em jogos, aplicativos, mídias sociais, sites de compras online e até mesmo em tarefas do nosso dia a dia, como ler notícias ou manuais de instrução?
Ao pararmos um momento para imaginar esse cenário fictício, torna-se mais forte a afirmação de que os dispositivos gráficos desempenham um papel preponderante em nossa interação com as tecnologias. Eles vão além da mera representação visual, uma vez que influenciam diretamente no modo como percebemos o mundo digital que está à nossa volta.
Quando falamos de dispositivos gráficos, estamos abordando diversos equipamentos, desde os monitores e telas sensíveis ao toque até os projetores e outros similares. Nesse contexto, todos são veículos que nos permitem visualizar e explorar a imensidão que é o mundo digital. Junto a outros equipamentos, eles tornam possíveis diversas aventuras virtuais, como a de mergulhar em ambientes através da realidade virtual, ou seja, os jogos que desafiam nossos limites da imaginação e nos levam para cenários encantadores.
Os dispositivos gráficos têm impacto em vários campos da sociedade moderna, como no segmento da educação, onde eles tornam possível a criação de materiais didáticos mais envolventes, interativos e dinâmicos, contribuindo para um ensino de maior qualidade e eficácia. Na medicina e saúde, por exemplo, os dispositivos de visualização gráfica permitem diagnósticos precisos e cirurgias assistidas por computador, uma vez que permitem visualizações de detalhes com precisão dada sua possibilidade de grande qualidade de imagem.
Diante a isso, ter uma boa compreensão acerca dos dispositivos gráficos não é visto no mercado de trabalho apenas como um conhecimento técnico de um equipamento, mas tem se tornado também uma habilidade importante para os profissionais de desenvolvimento de sistemas e da área da tecnologia.
Vamos explorar um exemplo na prática para demonstrar como os dispositivos gráficos desempenham um papel fundamental em uma situação do nosso cotidiano?
Então vamos lá! Imagine-se como um desenvolvedor que trabalha em uma empresa que cria e gerencia sistemas de controle de tráfego de uma cidade inteligente (smart city). Seu objetivo, então, é garantir que as informações sobre o tráfego sejam exibidas de forma clara e eficaz para os motoristas, autoridades e todos envolvidos com o trânsito.
Nesse caso, os dispositivos gráficos desempenham um papel crucial. Perceba que as câmeras de vigilância instaladas em vários pontos da cidade capturam imagens 24 horas por dia e em tempo real das ruas. Essas imagens podem ser processadas por um software de inteligência artificial que detecta congestionamentos, acidentes e outros eventos relevantes para o tráfego nesta cidade repleta de tecnologia.
Agora, vamos ao desafio: você, colaborador dessa empresa, precisa criar uma interface gráfica para que seja possível visualizar essas informações. A interface deve ser intuitiva, proporcionando fácil utilização e fornecendo informações detalhadas sobre a situação do tráfego, incluindo gráficos de congestionamento, mapas em tempo real, estimativas de tempo de viagem/deslocamento e alertas visuais para sinalizar alertas ou eventos críticos.
Para lidar com essa tarefa desafiadora, você deve considerar alguns pontos, como a resolução dos monitores em que a interface será exibida, a capacidade de processamento gráfico dos equipamentos envolvidos e buscar as melhores práticas de design de interface do usuário. Você precisará também entender como usar APIs gráficas para renderizar elementos gráficos de forma eficiente e como integrar dados simultaneamente nas visualizações.
Este caso demonstra um pouco de como os dispositivos gráficos são essenciais para tornar as informações acessíveis e ainda mais úteis em uma aplicação do nosso cotidiano. A habilidade de criar uma interface gráfica eficaz é bastante valorizada profissionalmente, além de ser uma aplicação prática do conhecimento adquirido sobre os conteúdos de dispositivos gráficos.
Siga explorando os conceitos desta unidade para conhecer e se preparar para desafios como esse em sua futura carreira no segmento de desenvolvimento de sistemas.
Partimos, agora, para uma exploração mais profunda sobre os dispositivos gráficos, compreendendo os conceitos deste tema, bem como as tecnologias fundamentais que os tornam tão relevantes na computação gráfica.
Quando falamos sobre a resolução de um dispositivo gráfico, estamos nos referindo à quantidade total de detalhes que o dispositivo pode exibir, sejam em telas ou monitores de modo geral. Segundo Silva (2010), o pixel é a menor unidade que podemos mensurar de uma imagem digital, representando um único ponto em toda a grade de pixels a qual a imagem é composta. A resolução é geralmente expressa pela quantidade de pixels na horizontal e vertical. Um ótimo exemplo para isso é pensar nas imagens Full HD, que apresentam a resolução da imagem no formato 1920x1080, que neste caso indica que a resolução tem 1920 linhas de pixels na vertical e 1080 linhas de pixels na horizontal.
A ideia que você precisa ter é que quanto maior for a resolução da imagem, mais nítidas e detalhadas serão as exibições que poderemos ver. Analisar esse ponto é um fator indispensável ao escolher monitores ou telas para tarefas gráficas, como edição de vídeo ou jogos.
Ao abordarmos a taxa de atualização, nos referimos à frequência com que um dispositivo gráfico atualiza a imagem exibida por segundo, de modo que o número que representa essa taxa estará nos dizendo quantas vezes por segundo a troca de imagem no monitor ou tela de exibição ocorre. Silva (2012) nos traz que a taxa de atualização de um monitor ou tela pode ser medida em uma escala chamada de hertz (Hz). Desta forma, o hertz é a unidade de medida da quantidade de vezes que a imagem é atualizada por segundo.
Neste sentido, compreendendo que a taxa de atualização é medida em hertz, quanto maior for a taxa de atualização, ou seja, quanto mais hertz ela apresentar, melhor será em termos de suavidade, transição de cenas e movimentos, o que trará uma melhor experiência visual para aqueles que estarão assistindo. Para jogos e aplicações que há forte interação entre ação e resposta, por exemplo, é importante uma taxa de hertz maior para trazer melhor resultado visual, e contribuir com a jogabilidade.
É normal que as telas ou monitores de uso comum tenham uma taxa de atualização de 60Hz, o que ainda é considerado atualmente comum. Já para jogos e aplicações específicas são indicados monitores que alcancem uma taxa de atualização de 144Hz ou até superiores.
A GPU, do termo inglês graphics processing unit, ou ainda, em uma tradução livre, Unidade de Processamento Gráfico é o coração, por assim dizer, de todo dispositivo gráfico moderno. A GPU é a responsável por realizar o processamento e renderizar os gráficos em tempo real enquanto o dispositivo está sendo utilizado. Neste mesmo sentido, o autor Almeida (2020), complementa nossos estudos com a definição de que a GPU é o equipamento responsável por realizar o processamento de imagens e gráficos em um sistema computadorizado, permitindo que os utilizadores tenham uma experiência visual de melhor qualidade e mais e fluida, principalmente em aplicações que demandam um maior poder de processamento gráfico. Além disso, estes dispositivos possuem de centenas, até milhares de núcleos, estes especializados em executar operações gráficas complexas.
As GPUs podem ser divididas de duas formas, as que são integradas em processadores, conhecidas como “onboarding” comuns em computadores de uso cotidiano e que não são voltados a desempenhos gráficos, e as GPUs dedicadas em placas gráficas, que seguindo o exemplo anterior, seriam placas gráficas externas, conhecidas também como “offboarding”. Ter uma boa compreensão sobre a arquitetura e o funcionamento geral da GPU é essencial para ser possível aproveitar na totalidade o potencial dos dispositivos gráficos, as quais serão manipulados pelo futuro profissional que você pode se tornar.
Para que você relembre, API é uma sigla para Application Programming Interface, ou em português, Interface de Programação de Aplicação. Quando pensamos nas APIs gráficas, o que você precisa saber é que elas desempenham um papel essencial na criação e manipulação de elementos visuais de sistemas de computador, isso porque, é uma interface de programação que permite aos desenvolvedores interagir com hardware gráfico e controlar a renderização gráfica em diversas situações.
As APIs gráficas fornecem um conjunto de funções, procedimentos e protocolos que permitem aos desenvolvedores criar, renderizar e manipular objetos gráficos, desde elementos 2D simples até ambientes 3D complexos. De acordo com Foley et al., (2013), as APIs gráficas trabalham como um canal entre o software aplicativo e o hardware gráfico subjacente, possibilitando que os programas se comuniquem de forma eficaz com os dispositivos de exibição vinculados.
O uso de APIs gráficas é essencial em muitas aplicações cotidianas, desde videogames e aplicativos móveis até softwares de modelagem 3D e sistemas de informação geográfica. Como afirmaram Hearn e Baker (2014), essa interface traz simplicidade para o que até então pode ser visto como algo complexo quando nos referimos aos dispositivos gráficos, o que contribui com uma abstração eficiente para os fornecedores aos desenvolvedores.
A importância das APIs gráficas na computação gráfica é evidente em sua capacidade de liberar todo o potencial dos dispositivos gráficos modernos, e elas podem ser divididas em duas categorias principais, sendo elas API de alto nível e API de baixo nível. Veja a seguir cada uma dessas categorias com mais detalhes:
API de alto nível: projetada para simplificar o desenvolvimento de aplicativos gráficos, fornecendo abstrações de alto nível. Os exemplos incluem DirectX e OpenGL da Microsoft, que são amplamente utilizados em jogos e aplicativos de renderização 3D.
API de baixo nível: Fornece controle mais direto sobre o hardware gráfico, permitindo otimizações personalizadas. Vulkan e Metal são exemplos de APIs de baixo nível, frequentemente usadas em cenários de desempenho crítico, como realidade virtual e simulações de alta fidelidade.
Conforme elucidado por Mattos (2018), a Renderização Gráfica pode ser compreendida como o processo de gerar imagens a partir de dados tridimensionais armazenados em um computador ou similar. Esse processo envolve um poder de processamento relevante, pois é necessário que o equipamento realize cálculos, como os cálculos de texturas, de sombreamento e de efeitos de luz para que, ao final, seja produzida uma imagem realista.
Desta forma, a renderização engloba o processo de transformar modelos tridimensionais (3D) ou mesmo elementos bidimensionais (2D) em imagens que possam ser exibidas em uma tela ou monitor. A renderização 2D é comumente usada em interfaces de usuário e em gráficos bidimensionais, enquanto a renderização 3D é essencial para jogos e aplicações de simulação, como na medicina e na educação, que exigem a sensação de profundidade e realismo. Entre as técnicas comuns, temos a rasterização, o ray tracing e o sombreamento, como as mais usadas na renderização para criar imagens realistas e impressionantes.
Como podemos perceber, os dispositivos gráficos são partes cruciais de diversos segmentos e na interação entre aplicativos e sistemas operacionais. Como é natural, eles precisam de drivers específicos para poderem funcionar corretamente, e sua comunicação é feita através da importação e utilização de bibliotecas de programação. Por este motivo, compreender como integrar dispositivos gráficos em sistemas operacionais e linguagens de programação, como, por exemplo, a linguagem Python, amplamente conhecida, ou mesmo o C++, ou Java, é uma base importante para ser possível a criação de um software gráfico compatível e eficiente.
Um profissional que detém conhecimentos sobre dispositivos gráficos está mais bem preparado para trabalhar com rotinas que tenham desafios mais complexos, além de ter maior facilidade para aproveitar ao máximo essas tecnologias em suas carreiras no segmento da tecnologia.
Agora que já compreendemos melhor sobre os dispositivos gráficos, aplicaremos parte desse conhecimento. Desafio você a escolher um dispositivo gráfico, como, por exemplo, uma placa gráfica, e pesquisar seu funcionamento detalhado, ou seja, compreender todos os passos que permitem a sua execução. A partir disso, identifique as especificações técnicas, como:
I. Taxa de transferência.
II. Quantidade de memória.
III. Arquitetura da GPU.
Em seguida, busque exemplos de aplicativos ou mesmo jogos que aproveitem ao máximo esse dispositivo. Reúna os colegas e conte suas descobertas. Discutam como esse dispositivo contribui com a experiência do usuário ou do jogador. E caso sinta que consegue ir além e queira se desafiar, tente criar uma simples aplicação gráfica usando uma linguagem de programação de sua escolha com a qual já tenha algum contato, demonstrando como podemos utilizar os dispositivos gráficos na prática.
As atividades propostas nessa etapa, juntamente com todo o conhecimento obtido no decorrer da lição, permitirão que você, futuro técnico em desenvolvimento de sistema, entenda a importância desses dispositivos gráficos, uma vez que, eles desempenham um papel crucial na interface com o usuário.
A capacidade de criar interfaces eficazes e agradáveis é essencial para a usabilidade de aplicativos, e inclusive, muitos aplicativos modernos utilizam elementos gráficos e multimídia, tornando o conhecimento dos dispositivos gráficos ainda mais importante. Além disso, a otimização do desempenho em aplicativos gráficos, como jogos, também depende dessa compreensão.
ALMEIDA, A. B. de. Introdução à Computação Gráfica. São Paulo: Novatec, 2020.
FOLEY, J. D.; VAN DAM, A.; FEINER, S. K.; HUGHES, J. F. Computer Graphics: Principles and Practice. 3. ed. Boston: Pearson, 2013.
HEARN, D.; BAKER, M. P. Computer Graphics with OpenGL. 4. ed. Boston: Pearson, 2014.
MATTOS, M. A. A. Introdução à Computação Gráfica. São Paulo: Novatec Editora, 2018.
SILVA, João. Introdução à Fotografia Digital. São Paulo: Editora Senac São Paulo, 2010. p. 35.
SILVA, João. Hardware: Guia Prático. São Paulo: Editora Senac São Paulo, 2012. p. 87.