XBox 360: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
Die XBox 360<ref name="XBOX">Wikipedia Artikel zur [[wikipedia:de:Xbox_360|XBox 360]]</ref> ist eine Spielekonsole der Firma [[wikipedia:de:Microsoft]]. Mit [[XNA]] können auch ''normale'' Konsolen für eigene Entwicklungen genutzt werden. Man benötigt also kein [[wikipedia:de:Xbox_360#Development_Kits|Development Kit]] um ein eigenes Spiel zu schreiben.
Die XBox 360<ref name="XBOX">Wikipedia Artikel zur [[wikipedia:de:Xbox_360|XBox 360]]</ref> ist eine Spielekonsole der Firma [[wikipedia:de:Microsoft|Microsoft]]. Mit [[XNA]] können auch ''normale'' Konsolen für eigene Entwicklungen genutzt werden. Man benötigt also kein [[wikipedia:de:Xbox_360#Development_Kits|Development Kit]] um ein eigenes Spiel zu schreiben.


Allerdings besteht diese Möglichkeit nur unter gewissen Einschränkungen. Es steht zum Beispiel nur ein kleiner Teil des [[.NET]]-Frameworks zur Verfügung, in der Hauptsache sind dies das [[Compact_Framework|.Net Compact Framework]] und [[XNA]]. Auch ist der direkte Hardwarezugriff, außer mit [[Shader|Shadern]], und der Zugriff auf das Dateisystem nicht möglich.
Allerdings besteht diese Möglichkeit nur unter gewissen Einschränkungen. Es steht zum Beispiel nur ein kleiner Teil des [[.NET]]-Frameworks zur Verfügung, in der Hauptsache sind dies das [[Compact_Framework|.Net Compact Framework]] und [[XNA]]. Auch ist der direkte Hardwarezugriff, außer mit [[Shader|Shadern]], und der Zugriff auf das Dateisystem nicht möglich.

Version vom 23. April 2009, 10:49 Uhr

Die XBox 360[1] ist eine Spielekonsole der Firma Microsoft. Mit XNA können auch normale Konsolen für eigene Entwicklungen genutzt werden. Man benötigt also kein Development Kit um ein eigenes Spiel zu schreiben.

Allerdings besteht diese Möglichkeit nur unter gewissen Einschränkungen. Es steht zum Beispiel nur ein kleiner Teil des .NET-Frameworks zur Verfügung, in der Hauptsache sind dies das .Net Compact Framework und XNA. Auch ist der direkte Hardwarezugriff, außer mit Shadern, und der Zugriff auf das Dateisystem nicht möglich.

Besonders das Compact Framework ist extrem einschränkend. Zum Beispiel kann es Methodeninlining nur für Methoden von einer kompillierten Größe von 16 Bytes Bytecode[2]. Auch Reflection und damit Serialisierung sind nur sehr eingeschränkt möglich. Man kann keine generische Reflection betreiben und für die Serialisierung braucht man einen parameterlosen Konstruktor.

Um zumindest das Inlining-Problem etwas abzuschwächen kann man von Hand inlinen. Dazu fügt man (Achtung, jetzt wird es hässlich) den Code der eigentlich aufgerufenen Methode anstelle des Methodenaufrufs. Also statt:

Vector3 v1 = new Vector3(1, 2, 3);
Vector3 v2 = new Vector3(1, 2, 3);
Vector3 v2 = v1 + v2;

nimmt man besser

Vector3 v1 = new Vector3(1, 2, 3);
Vector3 v2 = new Vector3(1, 2, 3);
Vector3 v2.X = v1.X + v2.X;
Vector3 v2.Y = v1.Y + v2.Y;
Vector3 v2.Z = v1.Z + v2.Z;

Damit das ganz etwas übersichtlicher wird, kann man das ganze mit einer region umgeben:

Vector3 v1 = new Vector3(1, 2, 3);
Vector3 v2 = new Vector3(1, 2, 3);
#region v3 = v1 + v2;
Vector3 v2.X = v1.X + v2.X;
Vector3 v2.Y = v1.Y + v2.Y;
Vector3 v2.Z = v1.Z + v2.Z;
#endregion

Diese region kann man dann in Visual Studio einklappen.

Region eingeklappt
Region eingeklappt

Referenzen

  1. Wikipedia Artikel zur XBox 360
  2. http://blogs.msdn.com/netcfteam/archive/2005/05/04/414820.aspx .NET Compact Framework version 2.0 Performance and Working Set FAQ