2010-01-22 5 views
2

더 많은보기/컨텍스트/렌더링 백엔드의 다른 유형에 대해 읽으면 더 혼란스러워집니다.다른 macosx 그래픽 api, 프레임 워크 및 레이어의 하드웨어 가속/성능 및 연결

to http://en.wikipedia.org/wiki/Quartz_%28graphics_layer%29 MacOSX는 자체가 Core Graphics의 일부인 렌더링 백엔드로 Quartz (Extreme)를 제공합니다. 애플 문서 및 일부 책에서도 그들은 어쨌든 당신이 어떻게 든 OpenGL을 사용한다고 말한다. (분명히이 운영체제는 모든 UI를 렌더링하기 위해 OpenGL을 사용하기 때문이다.)

현재 Quicktime을 기반으로하지만 Cocoa 인 QTKit을 통해 카메라에서 실시간 비디오를 캡처해야하는 응용 프로그램이 있으며 Core Image, GLSL 쉐이더 등을 통해 프레임을 추가로 처리하고 싶습니다.).

지금까지 그렇게 좋았습니다. 지금 내 질문은 - 그것은 performancewise 중요 않는 경우

  • A) 캡처 한 프레임 석영 통해하고 묵시적으로 OpenGL을 통해 또는
  • B 그릴)이 설치는 OpenGL 컨텍스트와 디스플레이 링크와이 명시 적으로 버퍼 이미지를 그릴 경우 OpenGL을 통해?

어떤 방법 으로든 장점이나 단점은 무엇입니까?

다른 예제 (특히 CoreImage101 및 CoreVideo101)와 애플 개발자 페이지의 문서를 살펴 봤지만 어떻게 이동하는지 (또는 가야하는지) 알 수는 없습니까?!?

저는 코어 비디오와 코어 애니메이션이 재생되는 곳을 정말로 얻지 못합니까? b) 자동으로 코어 비디오를 사용한다는 의미입니까? Core Animation은 어떤 방법으로 사용할 수 있습니까?

추가 정보 :

PS : BTW, 난 그래서 아무 QuicktimeX 혼란 아직 레오파드 오전 : 일반적으로

답변

2

OpenGL은 유연성을 제공합니다. 높은 수준의 API보다 높은 수준의 API가 필요한 기능을 제공하지 않으면 OpenGL 계층으로 드롭 다운해야 할 가능성이 큽니다.

그들이 필요한 모든 것을 제공한다면 비교 가능한 속도가되어야합니다. Objective-C 오버 헤드를 고려할 때 아마도 약간의 (거의 무시할만한) 성능 저하 일 것입니다.