Alguma ideia do impacto dos recursos usados pelo Core Animation

Acho que esse efeito deve-se ao Quartz Extreme... é uma tecnologia anterior ao Core Image (que só apareceu no Tiger). Creio... não tenho a certeza ;)
 
Acho que esse efeito deve-se ao Quartz Extreme... é uma tecnologia anterior ao Core Image (que só apareceu no Tiger). Creio... não tenho a certeza ;)

Exactamente. Todos os efeitos visíveis no Tiger, à excepção do Dashboard, são feitos através do Quartz Extreme.

Ou seja, Exposé, animação de janelas, mudança de user é tudo feito através do Quartz Extreme.
 
Boas. Creio haver aqui algumas confusões relativamente às tecnologias Quartz 2D / Quartz Extreme / Core Image e Core Animation. Espero que este gráfico (fonte: Arstechnica) ajude a clarificar as diferentes implementações da tecnologia Quartz no Mac OS X. O primeiro gráfico refere-se à implementação na versão 10.0 e 10.1, o segundo na versão 10.2 e 10.3 e o terceiro na versão 10.4 (Tiger):
quartz-10.0-4.png


É importante referir que o Tiger, apesar de inicialmente contemplar esta última implementação, esta acabou por não vir activada por defeito, e chegou mesmo a ser desaconselhado o seu uso num update posterior, serviu apenas para beta test dos developers. Vai ser implementada agora, finalmente, com o Leopard.
O Quartz (2D e Extreme) e o Quartz Compositor são as tecnologias responsáveis pela geração da imagem final.

A tecnologia Core Image apenas facilita o uso desta infra-estrutura aos programadores que desenvolvem software, fornecendo uma espécie de biblioteca de recursos para processamento de imagem e de vídeo (denominados de Image Units). Este processamento é feito sempre que possível no processador da placa gráfica, se esta o permitir (necessita de ter um GPU com suporte para shaders programáveis). Com o Leopard, o Core Animation vem simplificar ainda mais a utilização das tecnologias anteriores por parte dos programadores.
É claro que os utilizadores finais acabam por interagir com estas tecnologias, por exemplo ao escolher o tipo de transição de página no Keynote, ou no Fast-User-Switching, mas estas tecnologias estão mais viradas para quem desenvolve o software, pois são APIs que lhes simplificam imenso o trabalho, e até lhes possibilita utilizar efeitos que de outro modo não se dariam ao trabalho de programar.

A Apple ao construir as minimizações do Dock, o Fast-User Switching, o Ripple Effect do Dashboard, e muitos outros efeitos, teve todo o trabalho a programá-los. Essencialmente, aquilo que ela está a fazer é criar uma infra-estrutura que permita a qualquer programador aceder a esse trabalho e utilizá-lo nas suas aplicações, por isso não é muito importante saber se algum destes efeitos referidos se baseia no Core Image ou Core Animation. Na minha opinião é um pouco como o ovo e a galinha...
 
Última edição:
Boas. Creio haver aqui algumas confusões relativamente às tecnologias Quartz 2D / Quartz Extreme / Core Image e Core Animation. Espero que este gráfico (fonte: Arstechnica) ajude a clarificar as diferentes implementações da tecnologia Quartz no Mac OS X. O primeiro gráfico refere-se à implementação na versão 10.0 e 10.1, o segundo na versão 10.2 e 10.3 e o terceiro na versão 10.4 (Tiger):
quartz-10.0-4.png


É importante referir que o Tiger, apesar de inicialmente contemplar esta última implementação, esta acabou por não vir activada por defeito, e chegou mesmo a ser desaconselhado o seu uso num update posterior, serviu apenas para beta test dos developers. Vai ser implementada agora, finalmente, com o Leopard.
O Quartz (2D e Extreme) e o Quartz Compositor são as tecnologias responsáveis pela geração da imagem final.

A tecnologia Core Image apenas facilita o uso desta infra-estrutura aos programadores que desenvolvem software, fornecendo uma espécie de biblioteca de recursos para processamento de imagem e de vídeo (denominados de Image Units). Este processamento é feito sempre que possível no processador da placa gráfica, se esta o permitir (necessita de ter um GPU com suporte para shaders programáveis). Com o Leopard, o Core Animation vem simplificar ainda mais a utilização das tecnologias anteriores por parte dos programadores.
É claro que os utilizadores finais acabam por interagir com estas tecnologias, por exemplo ao escolher o tipo de transição de página no Keynote, ou no Fast-User-Switching, mas estas tecnologias estão mais viradas para quem desenvolve o software, pois são APIs que lhes simplificam imenso o trabalho, e até lhes possibilita utilizar efeitos que de outro modo não se dariam ao trabalho de programar.

A Apple ao construir as minimizações do Dock, o Fast-User Switching, o Ripple Effect do Dashboard, e muitos outros efeitos, teve todo o trabalho a programá-los. Essencialmente, aquilo que ela está a fazer é criar uma infra-estrutura que permita a qualquer programador aceder a esse trabalho e utilizá-lo nas suas aplicações, por isso não é muito importante saber se algum destes efeitos referidos se baseia no Core Image ou Core Animation. Na minha opinião é um pouco como o ovo e a galinha...

Sim, mas se tiveres em conta que o Exposé e o Fast User Switching apareceram no Panther, onde ainda não existia o Core Image, podes concluir que todos esses efeitos não tiraram partido do Core Image, mesmo no Tiger.
 
Sim, mas se tiveres em conta que o Exposé e o Fast User Switching apareceram no Panther, onde ainda não existia o Core Image, podes concluir que todos esses efeitos não tiraram partido do Core Image, mesmo no Tiger.

Sim, de acordo. Esses efeitos não tiram partido do Core Image porque este ainda não tinha sido criado. Foi criado posteriormente aproveitando código dos efeitos previamente programados. O que quis dizer é que, em termos de recursos utilizados (Quartz/Quartz Extreme/placa gráfica) não é muito relevante se utilizam ou não as APIs que eles próprios desenvolveram em consequência disso (daí a questão do ovo e da galinha). Como a questão aqui centra-se mais na possibilidade ou não de determinada máquina correr o Core Animation, o que digo é o seguinte:
  1. para determinada placa gráfica correr o Core Image, necessita de ter suporte para shaders programáveis. Para quem sabe alguma coisa de OpenGL, basicamente os Image Units do Core Image são shaders programáveis escritos na linguagem GLSL, incluída no standard OpenGL 2.0.
  2. Se a placa gráfica corre o Core Image, pode correr o Core Animation. Se virem a descrição do Core Animation no site da Apple, compreendem que este é apenas uma fantástica API, provavelmente complementada por uma aplicação de desenvolvimento do género do actual Quartz Composer, presente no Developer's Tools.
 
Afinal (mais ou menos) quais são os recursos usados pelo Leopard? A nível de RAM e Processamento? Gráficos já percebemos que nem todos os G4 trabalham com o Core Animation, mas e o resto?
 
A nível de RAM deves esperar um requerimento mínimo de 512MB. A nível de processamento qualquer Intel se porta bem. No caso dos ***** penso que só a partir de um G5 é que consegues ter alguma performance aceitável, se bem que estou a tirar esta conclusão um bocado ao calhas, visto que a única vez que testei o Leopard num ***** foi no meu antigo Powerbook (G4 1.33GHz c/ 1GB RAM) e a performance não era nada de especial. No entanto também só experimentei com a primeira leak do Leopard que apareceu logo a seguir à sua apresentação. As such...
 
A nível de RAM deves esperar um requerimento mínimo de 512MB. A nível de processamento qualquer Intel se porta bem. No caso dos ***** penso que só a partir de um G5 é que consegues ter alguma performance aceitável, se bem que estou a tirar esta conclusão um bocado ao calhas, visto que a única vez que testei o Leopard num ***** foi no meu antigo Powerbook (G4 1.33GHz c/ 1GB RAM) e a performance não era nada de especial. No entanto também só experimentei com a primeira leak do Leopard que apareceu logo a seguir à sua apresentação. As such...

Ao calhas a favor. :)
 
A performance do CA no G4 é satisfatória mas infelizmente existe uma quebra grande na performance de outras aplicações gráficas que não o utilizem. O mais flagrante é browsing em páginas com Flash. Um verdadeiro pesadelo.
 
Back
Topo