To zależy od tego, co robisz. Jeśli używasz Direct3D, jedynym powodem zmiany jest uzyskanie dostępu do funkcji sprzętowych, których inaczej nie można uzyskać.
W przypadku gier 2D teoretycznie możliwe jest, że niektóre funkcje mogą Cię zainteresować. Na przykład OpenCL lub DirectCompute. Civilization V korzysta z DirectCompute do dekompresji tekstur. To znacznie skraca czas ładowania, ponieważ musi tylko ładować skompresowane dane. A gry 2D często mają dużo obrazów. Jeśli czas ładowania stanowi problem, może to pomóc.
OpneCL powinien być dostępny na wszystkich urządzeniach GeForce 8xxx i nowszych. W ATI jest dostępny na HD 4xxx i lepszym sprzęcie.
Powiedziałbym, że największą funkcją, jakiej możesz użyć w DX11, jest możliwość bardziej arbitralnego odczytu i zapisu obrazów w shaderach. Może to być przydatne w przypadku niektórych specjalistycznych efektów. Nie mogę teraz wymyślić żadnego ... co powinno powiedzieć, jak prawdopodobne jest to ważne.
Ogólnie rzecz biorąc, powiedziałbym, że jeśli używasz D3D, prawdopodobnie nie zyskasz wiele. A jeśli jeszcze nie rozumiesz, jakie są nowe funkcje i chcesz z nich korzystać w swojej grze, prawie na pewno nie zyskasz wiele. Większość z nich będzie bardziej złożona.
OpenGL jest inny z jednego ważnego powodu. OpenGL 2.1 (mniej więcej odpowiednik D3D9) jest do bani jako API. OpenGL 3.3 (oraz kilka nowszych rozszerzeń, które działają na sprzęcie 3.3) znacznie poprawia API. Jawna lokalizacja atrybutów, separacja programów cieniujących, wszystko w pakiecie 420 języków cieniowania i tak dalej.
Niektóre z nich działają wystarczająco dobrze w formie rozszerzenia w stosunku do 2.1. Niektóre z nich ... nie. Nadal nie jestem pewien, czy można używać jawnych lokalizacji atrybutów z attribute
deklaracjami (przed bieżącą in
składnią). Pakiet cieniowania 420 mówi konkretnie, że nie działa z wersjami GLSL wcześniejszymi niż 1.30 (aka: OpenGL 3.0).
Nie oznacza to, że GL 2.1 jest bezużyteczny. Jest to z pewnością funkcjonalne i łatwe w obsłudze, po prostu nie sprawia przyjemności. Chociaż niektóre sterowniki, które je implementują, nie nadają się do serwisowania. Sprzęt DX9 ATI nie jest już obsługiwany, więc te sterowniki są naprawdę wadliwe. Intel nigdy nie przejmował się OpenGL, więc używanie shaderów na ich sprzęcie to szczęście.
Ale osobiście, jeśli twoja baza użytkowników na to pozwala, poleciłbym GL 3.3, jeśli używasz OpenGL. Jeśli nie, będziesz musiał poradzić sobie z problemami w wersji 2.1.