Điều gì khiến một số máy tính không có hoặc chậm OpenGL và cách khắc phục?


7

Tôi đang sử dụng Java với JOGL để tạo đồ họa 2D nâng cao OpenGL. Các hoạt động đồ họa tôi sử dụng không có gì lạ mắt và cần được hỗ trợ bởi hầu hết các card đồ họa gần đây. Ví dụ, trò chơi của tôi chạy rất tốt trên Netbook.

Tôi đã hy vọng trò chơi sẽ chạy trên hầu hết các máy tính. Nó chạy tốt trên máy tính của riêng tôi. Tuy nhiên, tôi thấy một số máy tính có hiệu năng rất chậm (rõ ràng là phần mềm dự phòng, đạt năng suất khoảng 2 khung hình mỗi giây). Tôi đã chạy một ứng dụng LWJGL trên một máy tính như vậy. Nó hoàn toàn không chạy (nó báo cáo một cái gì đó như org.lwjgl. Các phần mềm OpenGL khác dường như cũng không hoạt động. Tôi cũng thấy rằng phiên bản Flash của trò chơi với các hiệu ứng đồ họa giống hệt nhau thực hiện khá toàn màn hình trên cùng một máy tính. Máy tính trong câu hỏi có thẻ ATI gần đây nhưng tiếc là tôi không có quyền truy cập vào trình quản lý trình điều khiển.

Vấn đề xuất hiện khá phổ biến. Tôi nghĩ rằng rất đáng tiếc khi OpenGL không phải lúc nào cũng cung cấp quyền truy cập vào các tính năng đồ họa được tìm thấy trên hầu hết các máy tính. Điều này làm cho nó kém hấp dẫn hơn đối với các game 2D thông thường, mà tôi mong đợi sẽ chạy trên bất kỳ máy tính nào.

Có ai trong số các bạn gặp phải vấn đề này và quản lý để khắc phục nó không? AFAIK, cả NVidia và ATI đều cung cấp OpenGL như một phần của bộ trình điều khiển tiêu chuẩn của họ, nhưng có thể có một số ngoại lệ? Có phải sự cố này do trình điều khiển bên thứ ba không hỗ trợ OpenGL và sự cố có thể được khắc phục bằng cách cài đặt trình điều khiển tốt hơn không? Có bao nhiêu card đồ họa khác ngoài đó mà không có trình điều khiển OpenGL?

EDIT : Như một lưu ý cuối cùng, tôi có thể kết luận rằng OpenGL chỉ không được hỗ trợ tốt trên các máy Windows. Microsoft dường như đã cố gắng hết sức để ngăn chặn nền tảng của họ, ví dụ như bằng cách cố tình bỏ các trình điều khiển OpenGL trong một số gói trình điều khiển Windows. Nhận trình điều khiển nhà cung cấp và bạn nhận được OpenGL; lấy trình điều khiển chuẩn mà Windows tải xuống cho bạn và bạn thì không. Điều này đã gây ra không có kết thúc rắc rối cho người khác là tốt. Ví dụ: để triển khai WebGL, trình duyệt Web sử dụng Angle , trình giả lập OpenGL ES cho DirectX. Vì vậy, thứ chúng ta thực sự cần là thứ gì đó giống như Angle, chỉ dành cho OpenGL đầy đủ.


Cốt truyện dày lên ... có vẻ như máy tính "chậm" mà tôi đã thử nghiệm trên thực tế đã cài đặt trình điều khiển 3D ATI ... Tôi sẽ kiểm tra thêm, tôi sẽ thông báo cho bạn.
Boris van Schooten

Hãy nhớ rằng Intel bán phần cứng đồ họa nhiều hơn ATI và nVidia cộng lại. Bởi một biên độ rất lớn. Bạn cũng phải đảm bảo mọi thứ cũng hoạt động trên đồ họa tích hợp đơn giản.
Billy ONeal

Chà, trò chơi hoạt động tốt trên netbook với Intel Graphics Media Accelerator 950, đây phải là một trong những GPU chậm nhất xung quanh.
Boris van Schooten

@Borris: GMA 650 thực sự là một trong những GPU nhanh hơn mà Intel tạo ra - nó có khả năng chạy Aero theo sự hiểu biết của tôi. Phần lớn những gì họ bán không thể làm điều đó (và thực sự không cung cấp bất kỳ hình thức đồ họa tăng tốc phần cứng nào)
Billy ONeal

@billy cảm ơn thông tin. Thực sự, máy tính vẫn được bán mà không có khả năng 3D? Ý tôi là, một chiếc netbook giá 250 đô la có 650 và tôi đã thấy những chiếc laptop cũ hơn cũng có thể quản lý đồ họa 3D.
Boris van Schooten

Câu trả lời:


5

Đây là một vấn đề phổ biến ngay cả trên GPU mới khi trình điều khiển không được cài đặt. Phiên bản OpenGL là 1.0 1.1 và đang chạy ở chế độ phần mềm.

Cài đặt / cập nhật trình điều khiển GPU và thêm truy vấn phiên bản vào ứng dụng của bạn. Nếu trả về phiên bản OpenGL dưới 1.1 thì chắc chắn là thiếu trình điều khiển.


2
Điều đó đã khắc phục sự cố trên máy tính này. Tôi vẫn quan tâm đến trải nghiệm của người khác. Tôi đã sử dụng trình xem tiện ích mở rộng OpenGL để kiểm tra trình điều khiển OpenGL. Nó đã báo cáo GDI chung OpenGL 1.1 (= kết xuất phần mềm). Nó hoạt động sau khi chỉ cần cài đặt lại trình điều khiển. AFAIK trình điều khiển gốc đã được cài đặt bằng quy trình cài đặt tiêu chuẩn (cũng tìm thấy trình điều khiển cụ thể cho GPU) thay vì tải xuống trực tiếp từ trang web của nhà cung cấp. Phiên bản OpenGL được báo cáo hiện là 3.3. Ứng dụng JOGL của tôi hiện hoạt động trơn tru như các ứng dụng LWJGL.
Boris van Schooten

1

Tôi chỉ đoán ở đây, nhưng bạn đang sử dụng shader? Thẻ video nào trong máy tính mà bạn đã thử nghiệm đã ném ngoại lệ? Rất nhiều thẻ Intel tích hợp cũ không hỗ trợ pixel shader.

Yêu cầu thực sự duy nhất của bạn, nếu đó là trường hợp, là cung cấp dự phòng chức năng cố định.


Dự phòng chức năng cố định là gì?
Xavier

1
Dự phòng chức năng cố định là đường dẫn kết xuất (nghĩ hệ thống kết xuất khác nhau) không sử dụng trình đổ bóng trong khi kết xuất và thay vào đó sử dụng đường ống chức năng cố định để đạt được các hiệu ứng tương tự (ví dụ: chỉ sử dụng các cuộc gọi OpenGL lên đến phiên bản 1.5 hoặc một số như vậy) .
ChrisE

Tôi không sử dụng shader, chỉ ánh xạ kết cấu và trộn alpha, tất cả các công cụ openg 1.x.
Boris van Schooten
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.