Afhængig af hvad din programmeringsbaggrund er, kan jeg anbefale at bruge C# og Managed DirectX9. C# er noget nemmere at gå til end C++, og har en lang række features såsom garbage collection. Hvis man kender Java kan man lære C# på en dag. Hastighedsmæssigt er der ingen mærkbar forskel på C# og C++.
s.nielsen >> Jeg er absolut enig i at C# er nemmere at gå til og hurtigere at mestre. Jeg har dog observeret en betydelig hastighedsforskel på DirectX9 apps lavet i C++ og C#, alt efter hvilket grafikkort der benyttes. På et matrox Parhelia er der ikke megen forskel, men på et G400 eller GF2, har jeg set hastighedsforskelle på op til 70% til C++'s fordel.
Med nutidens computere bør det dog ikke være afgørende for valg af programmeringssprog...
Ok, jeg har ikke skrevet ret meget directx kode i C++, mine erfaringer siger mig at over 80% af cpu tiden bruges i directx kaldene og ikke i selve applikationskoden. Jeg går ud fra at C# directx9 blot er en managed extension til konventionel directx, og der dermed kun er et mindre overhead ifm. garbage collection etc. Så jeg synes 70% lyder af meget, men du har da sikkert ret. Men det vanskelige i directx programmering ligger i forståelsen af directx kald, samt den generelle forståelse af matricer, quaternioner osv. så med mindre man koder Half-Life 3 synes jeg det er bedre at tage udgangspunkt i et nemmere sprog for at opnå den forståelse.
De tal jeg har er fra en sammenligning mellem de samples der er med i DX9 SDK'en. Mange af dem findes både i C++ og C# udgaver og de output'er alle fps, så det er let at sammenligne.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.