Tôi đã nhìn thấy cả EAGLView và GLKView được sử dụng trong các ứng dụng iOS. Sự khác nhau giữa chúng là gì?Sự khác nhau giữa GLKView và EAGLView là gì?
Trả lời
Cả hai lớp này đều liên quan đến OpenGL ES, nhưng chỉ một trong số chúng được Apple cung cấp như là một phần của iOS SDK.
EAGLView
không phải là lớp được cung cấp với khung công tác Cocoa Touch. Trong các mẫu và mẫu mã OpenGL ES của Apple, họ đã tạo các lớp với tên này lưu trữ nội dung OpenGL ES. Những người khác đã sao chép và dán các lớp này trong các hướng dẫn mà họ đã viết về chủ đề này. Nói chung, tất cả các lớp có tên này có điểm chung là chúng ghi đè phương thức +layerClass
để trả về [CAEAGLLayer class]
, cho biết rằng các chế độ xem này sẽ lưu trữ nội dung OpenGL ES trong lớp sao lưu của chúng.
GLKView
là tính năng mới trong iOS 5.0 như một phần của khung công tác GLKit. GLKit nhằm đơn giản hóa một số thiết lập cần thiết để hiển thị tài liệu OpenGL ES bằng cách cung cấp các lớp trợ giúp như GLKView. GLKView xử lý cài đặt các bộ đệm khung và tạo bộ đệm cho bạn, cũng như một số tác vụ khác mà bạn thường phải viết mã.
Bạn có thể không thấy lớp này được sử dụng nhiều trong hướng dẫn, vì nhiều người trong số họ đã được viết trước iOS 5.0, nhưng đây là lớp trợ giúp hữu ích có thể đơn giản hóa hiển thị iOS OpenGL ES.
- 1. Sự khác nhau giữa WPF và WinForms là gì?
- 2. Sự khác nhau giữa JavaScript và Java là gì?
- 3. Sự khác nhau giữa ODBC và OleDB là gì?
- 4. Sự khác nhau giữa SGML và XML là gì?
- 5. Sự khác nhau giữa DefaultSelenium và RemoteWebDriver là gì?
- 6. Sự khác nhau giữa RMI và Corba là gì?
- 7. Sự khác nhau giữa scgi và wsgi là gì?
- 8. Sự khác nhau giữa wsHttpBinding và ws2007HttpBinding là gì?
- 9. Sự khác nhau giữa Pingback và Trackback là gì?
- 10. Trong Python, sự khác nhau giữa ".append()" và "+ = []" là gì?
- 11. Sự khác nhau giữa AxInterop và Interop là gì?
- 12. Sự khác nhau giữa CellClick và CellMouseClick là gì?
- 13. Sự khác nhau giữa .bashrc, .bash_profile và .environment là gì?
- 14. Sự khác nhau giữa JSP và Facelets là gì?
- 15. Sự khác nhau giữa hg quên và hg là gì?
- 16. Sự khác nhau giữa GDI và GDI + là gì?
- 17. Sự khác nhau giữa đá quý và plugin là gì?
- 18. Sự khác nhau giữa metaClass.methods và metaClass.metaMethods là gì?
- 19. Sự khác nhau giữa kEND và $ end là gì?
- 20. Sự khác nhau giữa java và jsp là gì?
- 21. Sự khác nhau giữa Application.Run() và Form.ShowDialog() là gì?
- 22. Sự khác nhau giữa -0 và 0 là gì?
- 23. Sự khác nhau giữa HTTP 1.0 và 1.1 là gì?
- 24. Sự khác nhau giữa java.lang.Math và java.lang.StrictMath là gì?
- 25. Sự khác nhau giữa " " và "" là gì?
- 26. Sự khác nhau giữa Spring BeanFactoryAware và ApplicationContextAware là gì?
- 27. sự khác nhau giữa SCRIPT_FILENAME và SCRIPT_NAME là gì?
- 28. Sự khác nhau giữa JSP và JSTL là gì?
- 29. Sự khác nhau giữa JSF và Facelets là gì?
- 30. Sự khác nhau giữa javax.inject.Inject và com.google.inject.Inject là gì?
cảm ơn Brad vì câu trả lời hiệu quả của bạn –
Câu trả lời hay. Nó thường hữu ích để có một bối cảnh lịch sử để giải thích lý do tại sao mọi thứ được thực hiện theo cách của họ. – Dalbergia