DirectX 11 für 2D-Spiele oder doch bei DirectX 9 bleiben?
-
Hallo miteinander,
ich habe nach einiger Zeit (genauer gesagt, nach zwei Jahren) wieder Lust bekommen an meinem Sandbox-Projekt zu arbeiten, welches mir immer diente Zeit totzuschlagen und dabei mit C++ und eben auch DirectX in spielerischer Weise zu experimentieren.
Damals hatte ich bereits schon einige gute Erfolge zu verzeichnen und hatte Grundlagen für ein 2D-Adventure bzw eine sehr spartanische Engine mit zahlreichen Späßen wie das Laden von Maps, Scripts, etc. Insgesamt hat die Sandbox schon einmal eine Portierung von SDL nach DirectX 9 überlebt und nun frage ich mich, ob es sich lohnt sich in DirectX 11 einzuarbeiten um den Sprung anzugehen und etwas altmodischen Code zu modernisieren. Erwähnt sei, dass ich bisher nichts mit DX11 gemacht habe und wirklich nur rudimentäre Elemente von DX9 genutzt habe.
Ich habe vor, im Zweidimensionalen zu bleiben und meine mitbekommen zu haben, dass es mit DX11 etwas umständlicher wäre mit 2D-Inhalten zu arbeiten.
-
wenn du es zu lernzwecken machst, muestest du selbst entscheiden, ob du es lernen moechtest
DirectX11 hat ein paar kleine vorteile z.B. dass es keinen half-pixel offset gibt, du kannst also relativ einfach 1:1 texturen/tiles/sprites auf den bildschrim zeichnen.
wenn du schnelles zeichnen auf direct3d9 haben moechtest, dann ist das nicht soviel anders als direct3d11 was du aufsetzen musst.
grundsaetzlich hat ein 2d adventure vermutlich nichts was irgend eine API voraussetzen wuerde, du koenntest mit SDL oder SFML genau so auskommen wie mit irgend einer d3d version oder auch software rendern.
frage ist also eigentlich, moechtest du d3d11 lernen?
-
Wie sieht es eigentlich mit der Performance aus von Direct2D im Vergleich zu 3D? Zumindest erscheint es mir, dass mit einer
ID2D1Factory
viel einfacher zu arbeiten ist.
-
2d adventure liefen von 20jahren problemfrei auf den rechnern, wenn du nicht wirklich etwas verruecktes programmierst, dann solltest du nie in performance probleme laufen, denk ich mir. Am ende nutzt eh alles dieselbe hardware und die ist schnell genug.
worauf du vielleicht achten kannst ist dass dein adventure stromfreundlich ist. also dass du nicht mehr zeichnest als noetig ist, es gibt einige leute die adventures auf notebooks spielen und die brauchen vermutlich keine 60fps. wenn du ohne dass sich was bewegt auch wenig updates machst und die batterie schonst damit sie noch ein paar stunden laenger spielen koennen, waere es eventuell eine herausforderung an performance