Nó phụ thuộc vào những gì bạn đang làm. Nếu bạn đang sử dụng Direct3D, lý do duy nhất để chuyển đổi là để có quyền truy cập vào các tính năng phần cứng mà bạn không thể có được bằng cách khác.
Đối với trò chơi 2D, về mặt lý thuyết có thể các tính năng nhất định có thể khiến bạn quan tâm. Ví dụ: OpenCL hoặc DirectCompute. Civilization V được sử dụng DirectCompute để giải nén kết cấu. Điều này làm giảm đáng kể thời gian tải, vì nó chỉ phải tải dữ liệu nén. Và game 2D thường có rất nhiều hình ảnh. Nếu thời gian tải là một vấn đề, điều này có thể giúp đỡ.
OpneCL phải có sẵn trên tất cả phần cứng GeForce 8xxx trở lên. Trên ATI, nó có sẵn trên HD 4xxx và phần cứng tốt hơn.
Tôi muốn nói rằng tính năng lớn nhất bạn có thể sử dụng trong DX11 là khả năng đọc và ghi hình ảnh tùy ý hơn trong các shader. Điều đó có thể hữu ích cho các hiệu ứng chuyên ngành nhất định. Tôi không thể nghĩ ra bất cứ điều gì ngay bây giờ ... điều này sẽ cho bạn biết khả năng này quan trọng như thế nào.
Nói chung, tôi sẽ nói rằng nếu bạn đang sử dụng D3D, có lẽ bạn sẽ không thu được nhiều tiền. Và nếu bạn chưa hiểu các tính năng mới là gì và muốn sử dụng chúng trong trò chơi của mình, bạn gần như chắc chắn sẽ không thu được nhiều. Hầu hết trong số họ sẽ phức tạp hơn.
OpenGL là khác nhau vì một lý do chính. OpenGL 2.1 (các hơn hoặc ít tương đương với D3D9) hút như một API. OpenGL 3.3 (cộng với một số tiện ích mở rộng gần đây chạy trên phần cứng 3.3) cải thiện API rất nhiều. Vị trí thuộc tính rõ ràng, tách các chương trình đổ bóng, mọi thứ trong gói ngôn ngữ tô bóng 420 , v.v.
Một số trong số này hoạt động đủ tốt ở dạng mở rộng so với 2.1. Một số trong số họ ... không. Tôi vẫn không chắc chắn liệu có ổn không khi sử dụng các vị trí thuộc tính rõ ràng với attribute
khai báo (trước in
cú pháp hiện tại ). Gói ngôn ngữ Shading 420 đặc biệt nói rằng nó không hoạt động với các phiên bản GLSL trước 1.30 (còn gọi là: OpenGL 3.0).
Điều đó không có nghĩa là GL 2.1 không sử dụng được. Đó chắc chắn là chức năng và dịch vụ, chỉ là không thú vị. Mặc dù một số trình điều khiển mà bạn sẽ thấy việc triển khai nó không có khả năng phục vụ. Phần cứng DX9 của ATI không còn được hỗ trợ, vì vậy những trình điều khiển đó thực sự có lỗi. Và Intel không bao giờ quan tâm đến OpenGL, vì vậy sử dụng các shader trên phần cứng của họ là điều may mắn.
Nhưng cá nhân, nếu cơ sở người dùng dự định của bạn cho phép, tôi sẽ chuyển sang GL 3.3 nếu bạn đang sử dụng OpenGL. Nếu không, bạn sẽ chỉ phải giải quyết các vấn đề 2.1.