Pergunta

Gostaria de saber se alguém pode distinguir precisamente entre estes?Para meu entendimento, Núcleo de Gráficos é apenas um "Quadro Pacote", que contém o Núcleo de Quartzo e Quartzo 2D.Mas eu não tenho certeza sobre se o Quartzo 2D, na verdade, é de Quartzo Core?Talvez alguém pode desenhar algumas linhas lá?O que faz com que até as diferenças entre estes?

Ao olhar para a documentação, eu vejo Quartzo Núcleo é a listagem de todos os Núcleo de Animação coisas apenas.Assim Quartzo-Core == Núcleo De Animação?

Foi útil?

Solução

Do Quartzo 2D Guia de Programação:

O Quartzo 2D API faz parte do Núcleo Gráficos quadro, de modo que você pode ver Quartzo referido como Núcleo de Gráficos ou, simplesmente, CG.

Eu tenho uma tendência de utilização de Quartzo e Gráficos do Núcleo alternadamente quando referindo-se a 2-D de desenho no Mac / iPhone, mesmo se isso não é tecnicamente correta.

O Quartzo Core framework no iPhone contém as classes e elementos de apoio para o Núcleo de Animação e também contém itens usados para a Imagem principal.

Outras dicas

O quartzo 2D é uma API da estrutura gráfica do núcleo que implementa o desenho.
O Core de Quartz é uma estrutura que inclui APIs para animação e processamento de imagens.


Estruturas de quartzo e suas APIs

CoreGraphics.framework

  • Quartzo 2d A API gerencia o contexto gráfico e implementa o desenho.
  • Serviços de quartzo A API fornece acesso de baixo nível ao servidor de janela. Isso inclui hardware de exibição, resolução, taxa de atualização e outros.

QuartzCore.framework

Quartz.frameworkOS X SOMENTE

Todas as três estruturas usam o OpenGL por baixo, porque todo o desenho no iOS ou OS X passa pelo OpenGL em algum momento. Veja a seção Estruturas de camada de mídia da visão geral da tecnologia Mac OS X para obter detalhes.

Outras tecnologias "quartzo" que você pode ter ouvido falar:

  • Extremo de quartzo: aceleração da GPU para compositor de quartzo.
  • Quartzgl (também conhecido como "quartzo 2d Extremo "): aceleração da GPU para quartzo 2d.

Essas são implementações internas da renderização da GPU, não da APIs. Eles decidem se devem criar o buffer da janela na CPU e usam apenas o OpenGL para fazer upload como uma textura (o padrão) ou para fazer toda a renderização usando o OpenGL, que Nem sempre melhora o desempenho. Você pode alternar entre os dois usando o Quartzglenable Configuração info.plist. Para uma explicação, consulte John Siracusa Review of Mac OS X 10.4 Tiger, páginas 13 e 14.

"Quartz" e "Core" são nomes de marketing espalhados por estruturas e APIs de maneira aleatória. Se eles queriam criar uma bagunça de nomeação confusa, conseguiram.

Tenha cuidado, no entanto, um novo aplicativo de visualização única vinculará a estrutura CoreGraphics por padrão, mas não o quartzcore. Então você pode obter rapidamente um erro de 'objeto desconhecido' se estiver fazendo qualquer coisa com CAEAGLLayer por exemplo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top