News Microsoft XNA für plattformunabhängige Spiele

@Sascha:
Ja schon, nur wird das selten der Fall sein. Win32 ist sowieso ein falscher Begriff, denn .NET Programme sind auch Win32 Anwendungen, nur dass sie erst beim Aufruf kompiliert werden. Genau deshalb sind vorkompilierte Programme zumindest beim 1. Start auch schneller.

Ich weiß zwar nicht, wie es beim XNA ist, allerdings hatte bisher C++ mit DirectX einen kleinen Geschwindigkeitsvorteil gegenüber .NET mit DirectX .NET, da DirectX .NET nur über einen Wrapper ging. Wie das bei XNA ist weiß ich nicht, der Nachteil von .NET ist im obigen Falle allerdings sehr klein, etwa 2-4% langsamer sind die .NET Games.

Insgesamt finde ich das ganze ne super Sache von MS, damit unterstützen sie die Spieleentwickler, auf .NET umzusteigen, was bisher nicht viele gemacht haben :freak:
 
@20: wo hast du das denn her? :) Wenn ich ein Programm besonders schnell bekommen möchte, dann hängt das neben meinen Programmierfähigkeiten v.a. von der Qualität des Compilers ab (der im Idealfall besonderheiten meiner CPU ausnutzen kann, siehe die enorm guten C-Compiler von Intel). .Net ist aber ersteinmal eine virtuelle Maschine, die den erzeugten Zwischencode zur Laufzeit übersetzen muss. Das sollte schon Zeit kosten (sogar relativ viel). Jetzt könnte man noch argumentieren, dass ein compiliertes Win32-Programm natürlich auch nicht an die Spezifika einer bestimmte Maschine angepasst ist. Aber spätestens bei der Programmentwicklung für die XBOX erübrigt sich dieses Argument. Da kann ich mir beim besten Willen nicht vorstellen, dass ein in C#, J# oder weiss der Geier was für einer .Net-Sprache geschriebene Code schneller ausgeführt wird als natives C oder wenn's ganz hart kommt Assembler (keine Ahnung ob bei der Entwicklung für Konsolen so hardwarenah gearbeitet wird, anbieten würde es sich ja).
Also wenn du wirklich meinst, .Net könnte zur Beschleunigung von Software beitragen, dann hätte ich dafür schon gern ein paar Belege.

mfg
Finkenelch
 
@20:

das ist das ziel. leider scheint dieser idealfall recht selten zu sein. abgesehen davon das die geschwindigkeit eh zum großen teil alein von den verwendeten algorithmen abhängig ist, ist es bisher nicht gelungen einen just in time compiler zu schreiben der zuverlässig schnelleren code erzeugt als ihre "normalen" vettern. dafür verliert man mit solchen sprachen allerdings einen großen teil an kontrolle, die für solche anwendungen ganz sicher ganz nützlich ist.

ansonsten sehe ich das ähnlich wie die anderen hier: der text liest sich absolut wie das typische marketing geblubber. code der ausschließlich auf dem selben betriebsystem(windows), mit den selben bibliotheken(directx, .net), übersetzt von den selben compilern(.net) läuft, ist abolsut nicht plattformunabhängig.

eigentlich ist dieses produkt also ziemlich unnütz. wer mag kann auch so wunderbar directx basierte C# oder C++ programme schreiben die auf einem windows pc genauso funktionieren wie auf einer xbox....


P.S.: @ 18: die verluste liegen im selben bereich wie bei java - die geschwindigkeit ist mit normalem C code also vergleichbar, wenn auch in der regel ein ganz klein wenig langsamer(ist allerdings eher unerheblich). das java so einen langsamen eindruckt macht liegt daran das die standard bibliothken von java totaler schrott sind - die geschwindigkeit liegt eben vorallem bei der logik des programms, und nicht beider semantik...
 
Ich dachte eigentlich bisher immer, dass DirectX und .NET genau das erledigen sollen. Die bieten doch genau solche Schnittstellen an. Im Grunde wäre XNA dann doch nur eine Erweiterung und in gewissen Maße eine Verallgemeinerung dieses Konzepts. Aber warum nicht einfach weiter bei DX und .NET bleiben? Verstehe ich nicht ganz.
 
an den Schreiber dieses Artikels@ Der Titel ist irreführend und unpassend! Plattformenunabhängigkeit bedeutet auch unabhängig und nicht nur teilweise. Titel wie XNA für XBOX vs. Win wäre passender.
 
@23:
Was meinst du mit Kontrolle? Die ganze Speicherverwaltung und die unzähligen Pointer, die man in C++ alle selber verwalten musste? Ich finde es nur von Vorteil, wenn das wegfällt :D
 
dafür greift der gc immer dann ein, wenn man ihn am wenigsten gebrauchen kann.
(nicht falsch verstehen. es gibt viele anwendungsfällt, bei denen ich sofort nach einem gc schreien würde, nur muss man sich immer der probleme bewusst sein.)
 
Ich wollte auch sagen, das Plattformunabhängig passt nicht. Wenn es das wäre, würde XNS sogar mit Handys und PPC und allem funzen.
 
Ein Tool fuer die XBOX und Windows, und dass ist dann Multi-Plattform?
Irgendwas habe ich wohl in Deutsch falsch verstanden...
 
onlyJR schrieb:
@3) AndrewPoison: Ich denk mal auch für Linux wird es früher oder später eine Protierung geben. Natürlich nicht von MS, aber auch das .Net Framework wurde soweit ich weiß portiert.
1. Nein es wird keine "Portierung" von XNA auf Linux geben, weil die Lizenz das schlichtweg verbietet. Was es gibt ist nur die kränklelnde Portierung von DirectX-DLLs auf eine Wine-Umgebung durch Cedega, diese wird aber nie perfekt sein und wirbt immer mit optimaler Unterstützung für Spiele, die DirectX so gut wie gar nicht nutzen und meist auch völlig ohne DirectX auf Linux nativ portiert werden, wie etwa Doom3.

2. Es gibt keine "Portierung" von .Net auf Linux, es gibt einen .Net-Standard, der sogar bei der ISO eingetragen ist. Für diesen Standard gibt es eine freie Runtime und Entwicklungsumgebung namens "Mono". Diese umfasst weitestgehend nur die Dinge, die auch im .Net-Standard stehen. Genau wie Sun das mit Java macht, baut aber auch Microsoft in die eigene .Net-Umgebung viele Funtkionen ein, die nicht zum Standard gehören und die dann eben von vielen mitbenutzt werden, was dazu führt, dass viele Programme eben nur mit Microsoft-Runtime laufen, wie viele Java-Programme eben auch nur mit Sun-Runtime laufen.
 
@ News: Setzen sechs !!!

Das is lediglich eine Verstümmelung des DirectX SDK für XBOX Ansprüche...
 
@28 (ghorst)

Dafür gibt es jetzt aber einen zweiten Proz. und dann merkt man vom gc nicht mehr wirklick viel. Und die Zeiten, wo es auf jeden Takt ankam sind eindeutig vorbei.
 
der dir bei einer numa architektur, wie sie etwa amd verbaut, nicht für einen gc des anderen prozessors brauchbar ist.
oder meinstest du den zweiten core?

mal ne fragen am rande an die experten: wie hält es das .net-framework eigentlich mit threads? hat jeder thread seinen eigenen gc oder nur einen für alle?
 
Also Leute !

Windows >= XP und XBox >= 360 zusammen als "plattformunabhängig" zu bezeichnen ist recht gewagt, nicht ?
 

Ähnliche Themen

Zurück
Oben