Chính xác thì có nghĩa là gì khi nói rằng Mesa là một triển khai OpenGL? Không phải trình điều khiển của thẻ Nvidia của tôi có thực hiện tất cả các chức năng OpenGL, v.v. không? Vì vậy, cho rằng các trình điều khiển của card Nvidia của tôi đang thực hiện các cuộc gọi Opengl và đưa chúng đến phần cứng, chính xác thì Mesa làm gì? Ai đó có thể làm rõ sự khác biệt giữa Mesa và người lái xe?Mesa khác với trình điều khiển OpenGL như thế nào?
Trả lời
Ai đó có thể làm rõ sự khác biệt giữa Mesa và trình điều khiển không?
Mesa cung cấp giao diện OpenGL phía máy khách cho trình điều khiển GPU nguồn mở dựa trên kiến trúc DRI2/DRM. Hay nói cách khác: Nó cũng là một phần của tài xế.
Nếu bạn có trình điều khiển độc quyền từ NVidia hoặc AMD đã cài đặt, bạn không cần Mesa. Nếu bạn muốn sử dụng trình điều khiển nguồn mở (nouveau, radeon, radeonhd, intel), bạn cần Mesa.
Tôi tin LinuxQuestions.org thành viên diễn đàn geeman2.0 cung cấp một lời giải thích tốt cho vấn đề này:
OpenGL và Mesa là không thực sự hai sự lựa chọn riêng biệt, nhưng thay vì Mesa là một loại hình cụ thể của OpenGL.
OpenGL đơn giản là giao diện xác định tập hợp các chức năng tiêu chuẩn cần thiết để vẽ đồ họa 3D. Nó không liên quan đến mã thực tế mà làm cho các chức năng này xảy ra, nó chỉ xác định những gì các chức năng được gọi và những gì họ có nghĩa vụ phải làm.
Triển khai OpenGL cung cấp mã thực tế chạy các phương thức được chỉ định theo tiêu chuẩn OpenGL. Nếu không có cài đặt thực hiện, bạn không thể chạy bất kỳ chương trình opengl nào.
Mesa chỉ là một trong nhiều triển khai OpenGL và là tiêu chuẩn nhất được bao gồm trong bản phân phối Linux. Nó làm tất cả công việc trong phần mềm, đó là lý do tại sao nó chậm.
Khi bạn cài đặt trình điều khiển Nvidia hoặc ATI cho một cạc đồ họa lạ mắt, các trình điều khiển này cung cấp triển khai OpenGL mới chạy trên cạc đồ họa. Việc triển khai này sẽ thay thế cho triển khai Mesa, nhưng nó vẫn là một triển khai OpenGL. Nghĩa là, tất cả các trình điều khiển của Mesa/ATI/NVidia đều thực hiện cùng một tập hợp các chức năng, chúng chỉ làm theo các cách khác nhau, và tất cả chúng đều là OpenGL.
- 1. OpenGL + Mesa 3D + MinGW
- 2. Trên Windows, OpenGL khác với DirectX như thế nào?
- 3. Mẫu Observer khác với mô hình Điều khiển sự kiện như thế nào?
- 4. Làm thế nào để giao tiếp với trình điều khiển vi điều khiển Linux
- 5. có thể gắn điều khiển với điều khiển khác không?
- 6. Sự khác nhau giữa trình điều khiển WDM, trình điều khiển KMDF và trình điều khiển UMDF là gì?
- 7. Apple làm cho bộ điều khiển của nó chứa các bộ điều khiển khác như thế nào?
- 8. Xây dựng Mesa cho cửa sổ 7. Mesa 9.1
- 9. Phát triển trình điều khiển Linux: Sự khác biệt giữa trình điều khiển PCI và PCIe?
- 10. Làm thế nào để gọi điều khiển hành động trong bộ điều khiển khác trong CakePHP?
- 11. ArrayListMultimap khác với LinkedListMultimap như thế nào?
- 12. asp.net mvc có liên quan như thế nào với một hành động điều khiển?
- 13. C#: Chạy chương trình điều khiển bên ngoài như ẩn
- 14. Engine.io khác với socket.io như thế nào?
- 15. PostgreSQL khác với MySQL như thế nào?
- 16. GB18030 khác với Unicode như thế nào?
- 17. Chèn điều khiển trước một điều khiển khác
- 18. Cách tạo ngữ cảnh OpenGL bằng trình điều khiển đồ họa cụ thể?
- 19. Sự khác nhau giữa trình điều khiển nền tảng Linux và trình điều khiển thiết bị thông thường là gì?
- 20. tải trình điều khiển JDBC
- 21. Tương thích ngược OpenGL với OpenGL ES?
- 22. Điều khiển hiển thị trên một bảng điều khiển khác
- 23. Chương trình điều khiển Java
- 24. Làm thế nào để đọc mật khẩu với echo "*" trong chương trình bảng điều khiển Python?
- 25. Trình tối ưu OpenGL hiện đại nên được viết như thế nào để tương thích với nhau?
- 26. Trình điều khiển MongoDB nào cho Node.js?
- 27. Trình điều khiển liên kết lấy các gói RX từ các giao diện enslave như thế nào
- 28. Tương đương với "bảng điều khiển lỗi" của Firefox trong các trình duyệt khác
- 29. Các chỉ thị giao tiếp bằng bộ điều khiển như thế nào?
- 30. Xcode: Làm thế nào để tạo một bộ điều khiển xem PopUp xuất hiện trong bộ điều khiển xem khác