[C# / VS 2012] 2D-Programmierung

Rakshasa

Mitglied
Registriert
24 Juli 2013
Beiträge
176
Ort
ADL
Hey,

ich arbeite zurzeit an einem kleinen Projekt, dass fürs Shadowrun-Meistern gedacht ist. Es stellt Welten in Kartenform dar, also Grafiken (z.B. Blut-/Explosionschablonen mit Transparenz), aber auch geometrische Formen wie Rechtecke und Polygone in 2D dar und zwar einerseits für den Meister, andererseit (in einem weiteren Fenster) für die Spieler. Es wird also auf zwei Zeichenflächen gezeichnet.
Ich habe die vorherige Version in GDI+ fertiggestellt, was auch super funktioniert - bis auf die Performance, die bei schwachen Systemen trotz aller Optimierung nicht so doll ist ist.

Meine Fragen:

- Gibt es eine Möglichkeit, den GDI+ Code einigermaßen so zu verändern, dass die Hardware zum Zeichnen (GPU) benutzt wird? Momentan läuft das Ganze nur über die CPU, wenn ich mich nicht irre.

- Gibt es eine Alternative für Visual Studio 2012 (!), die ich nutzen kann?

:coffee:
 
Gibt es eine Grund warum du nicht zu OpenGl bzw ein Framework greifst?

Bzgl Visualstudio: Du kannst ja mal Monodevelop testen
 
  • Thread Starter Thread Starter
  • #3
Ich entwickele das Programm in WinForms und C#.
Dafür habe ich leider (speziell fürs VS 2012) keine kostenloses (das Programm ist ja auch Freeware) Framework gefunden. Tao, OpenTK sind bspw. für NET oder laufen nicht auf VS2012. Das GameStudio von MS (oder wie das hieß) gibt es leider auch nicht für VS 2012. :(
 
  • Thread Starter Thread Starter
  • #5
@Hans:
Würde Sinn machen, leider lässt sich XNA nicht auf VS2012 installieren. Die letzte unterstützte Version war 2010. Die Installation geht wohl nur mit ein paar üblen Tricks und einem zusätzlch installiertem VS 2010, was ich mir erst besorgen müsste. :(
 
Schade, wäre, glaube ich, für Deinen Zweck ideal.
Ich hab' hier XNA 4.0 mit VS2010 Express im Einsatz und das ist doch um einiges schneller als GDI... :-)
 
Hi,
ich würde dir raten dich in OpenGL und GLUT einzuarbeiten. Allerdings ist C# nicht unbedingt für spieleprogrammierung ausgelegt. Ich würde dafür eher C++ verwenden. Wenn du dennoch C# verwenden willst schau dir an.
nützliche links dazu findest du ziemlich schnell beim googlen.

gruß
 
  • Thread Starter Thread Starter
  • #9
Um Spielgeprogrammierung geht es ja eigentlich nicht, aber das Prinzip meiner Kartenverwaltung ist wohl quasi dasselbe.
OpenTK ging bei mir nicht zu installieren, da es einen NShader wollte, der aber nur für VS2010 verfügbar war. Vielleicht probier ich's nochmal.
 
hmm... ich seh auch grad, dass das release 2010 war und seit dem anscheinend nichts mehr entwickelt wird :buh:
Es ist auch für .Net 2.0 gedacht was doch schon ein wenig älter ist ;)
Vielleicht solltest du dich doch für c++ und OpenGL entscheiden :p
 
  • Thread Starter Thread Starter
  • #11
C++ lernen... ich weiß nicht.. C# ist jetzt die fünfte Programmiersprache, die ich mir aneigne. Irgendwie fehlt mir dazu die Lust (und die Zeit, muss ja auch noch mit sinnvollen Sachen Geld verdienen).
Schade!
 
Auch auf die Gefahr hin, daß ich das Problem jetzt nicht richtig erfaßt habe, aber wäre WPF statt Winform keine Möglichkeit?
 
@Rakshasa Wenn du schon andere programmiersprachen kannst ist es normalerweise nicht so schwer auchnoch weitere zu lernen, auch wenn C++ so seine eigenheiten hat :p musst dich halt daran gewöhnen header uns code dateien zu trennen und dich n bissel mehr mit pointern beschäftigen, was aber eh ratsam ist, denn pointer braucht man in (fast) jeder sprache, nur in den meisten bekommt man davon nicht so viel mit :D
Du kannst dir auch mal anschauen, ist halt auch C++

@KaPiTN WPF ist genau wie Winforms denke ich nicht dafür ausgelegt mit texturen und grafiken zu arbeiten. Kenn mich aber auch nicht so damit aus. Und wenn er die GPU verwenden will, dann wird man um OpenGL oder Direct3D nicht drumrumkommen. Aber auch da kenn ich mich ehrlich gesagt nicht so mit aus :unknown:

EDIT: QT ist übrigens OpenSource und für den privaten gebrauch benötigst du auch keine Lizenz. Außerdem ist QT, sofern die bibliotheken vorhanden sind, Betriebsystemunabhängig, falls dich das interessiert :p
Es ist auch ne ganz gute IDE (QTCreator) dabei.
 
Zuletzt bearbeitet:
Zurück
Oben