2012-05-24 41 views
6

Tôi đang tạo một ứng dụng sử dụng các chức năng đồ họa cơ bản của lõi. Ứng dụng chạy khá tốt trên Ipad2, nhưng có một hiệu suất nhấn trên Ipad3 do màn hình hiển thị võng mạc, khiến bản vẽ được thực hiện trên số pixel 4 lần so với trước đó. Tôi đã thử một số hack để cải thiện hiệu suất, nhưng kể từ khi vẽ diễn ra trên các cử chỉ trong mã của tôi, tôi nghĩ rằng tôi sẽ phải chuyển sang một số thay thế khác. Tôi muốn hỏi liệu Core Image có cung cấp tất cả các chức năng có thể được thực hiện bằng cách sử dụng Core Graphics, để tôi có thể sử dụng khả năng xử lý GPU. Nếu không, những gì có thể là lựa chọn tốt nhất để tôi có thể sử dụng các chức năng tương tự với khả năng xử lý tốt hơn.Hình ảnh lõi và đồ họa lõi

+0

Bạn có chắc chắn 100% hiệu suất giảm là do số lượng pixel tăng lên không? – zoul

+0

Có. Bởi vì hiệu suất cho thấy một số cải tiến khi một số thao tác vẽ được loại bỏ hoặc các phần của màn hình được vẽ thay vì toàn bộ màn hình. – user1414340

Trả lời

9

Hình ảnh lõi và đồ họa lõi rất khác nhau. Ảnh lõi là một công nghệ xử lý ảnh . Bạn có thể áp dụng các bộ lọc được tạo sẵn như màu nâu đỏ, đen trắng và màu sắc hoặc bạn có thể tạo bộ lọc tùy chỉnh. Core Graphics là một API dựng hình sử dụng công nghệ Quartz 2D cho phép vẽ phức tạp.

GPUImage của Brad Larson là một sự thay thế/bổ sung tuyệt vời cho Ảnh lõi. Bạn có thể tìm thấy nó here.

Nếu bạn muốn hiệu suất được cải thiện, bạn có thể thử API cấp thấp như OpenGL. Thật khó để tìm hiểu, nhưng đây là một số liên kết để giúp bạn bắt đầu:

+0

Cảm ơn. Đó chắc chắn là gan. – user1414340

1

Một năm cuối, tôi biết, nhưng hãy xem WWDC 2010 Phiên trên Core Animation: 424 và 425. Cả hai đều quan trọng, nhưng có một số chi tiết tốt về hiệu suất điều chỉnh 425 vào khoảng 11:00 .

Bản tóm tắt ngắn gọn, là có ba nút cổ chai tiềm ẩn, và bạn cần xác định, tối ưu hóa và tiếp tục lặp lại cho đến khi bạn nhận được 60 FPS trơn tru. Các trở ngại tiềm năng là:

  • băng thông đọc
  • ghi băng thông xử lý
  • /vẽ đèo.

Phiên 425 (Hoạt ảnh lõi trong thực tế, Phần 2) bao gồm các kỹ thuật để giải quyết vấn đề trên.

https://developer.apple.com/videos/wwdc/2010/

Các vấn đề liên quan