Portierung vs native (Oder OSX vs Cider)

Portierung vs native (Oder OSX vs Cider)

in Technische und account-spezifische Fragen

Posted by: Carmina.5064

Carmina.5064

Morgen zusammen

Irgendwie habe ich den Eindruck dass nicht allen klar ist wie GW2 auf dem Mac eigentlich laeuft. Und woher Probleme kommen. Und warum die Mac-Version im Vergleich zur Windows-Version so hardwarehungrig ist. Und warum somit die Mac-User viel teurere Systeme brauchen als die Windows User. Und warum das nichts damit zu tun hat dass die Mac-User sowieso immer fuer alles mehr bezahlen…

Vor einigen Jahren benutzten Macs proprietaere Prozessoren. Die Teile hiessen G3, G4 und am Ende G5. Als Apple dann auf intel-Prozessoren umgestellt hat, musste das Betriebssystem, OS-X, komplett umgeschrieben werden, weil das natuerlich architekturabhaengig funktioniert. Dieses obligatorische Umschreiben war aber auch fuer alle Applikationen notwendig, weil auch die natuerlich fuer die Gx-Architektur kompiliert waren.

Da nicht jeder User von Anfang an alle Software neu kaufen konnte oder wollte, und einige Firmen auch ein wenig Zeit benoetigten, um ihre Produkte an die neue Architektur anzupassen, gab es von Apple einen Emulator, genannt Rosetta, der es ermoeglichte, PowerPC-Apps (PowerPC war der Name der Gx-Plattform) auf einem intel-System laufen zu lassen. Dieser Emulator tat dann fuer die jeweiligen Applikationen so, als wuerde da ein PowerPC-OS-X laufen. Somit ging das dann auch.

Inzwischen muss jede Applikation fuer OS-X fuer die intel-Architektur geschrieben sein, weshalb Rosetta nun nicht mehr unterstuetzt wird.

Guild Wars 2 ist eine Applikation, die Arena fuer Windows entwickelt hat. Wie unter Windows ueblich, gibt es da so Dinge wie dlls, Libraries, wahrscheinlich Eintraege in die Registry, und so weiter.

Windows laeuft auf Systemen mit intel-Architektur (selbst Rechner mit AMD-Prozessoren sind Mitglieder dieser Architekturfamilie). Apples Wechsel zu intel-Prozessoren hat das Emulieren von Windows unter OS-X einfacher gemacht. Nutzt man Apples Bootcamp, kann man einen Mac sogar nativ in Windows starten, was ihn dann mehr oder weniger zu einem echten Windows-Rechner macht. Auch Emulationen wie Parallels oder VMWare Fusion nutzen diese Tatsache, um “windows in a window” auf dem Mac laufen zu lassen.

Guild Wars 2 nutzt auch eine solche Emulation, genannt Cider. Das Ganze ist im “Mac Client” von Guild Wars 2 integriert und somit transparent, was bedeutet, dass der User davon nix merkt. Mit der Installation und dem ganzen Drumrum ist das ja auch so. Allerdings macht es sich eben bemerkbar, weil die Performance nicht so wirklich mit den Windows-Systemen mithalten kann. Das ist bei Emulationen so. Spielte ich Guild Wars 2 unter Parallels oder VMWare, waere das Ganze wahrscheinlich unspielbar oder eben auch nur unter deutlichen Performanceeinbussen ans Laufen zu kriegen.

Langer Rede kurzer Sinn: Wenn Ihr GW2 auf dem Mac startet, startet zuerst sowas wie eine Windows-Emulation, auf der dann GW2 gestartet wird. Sprich, Software emuliert hier etwas, was eigentlich Hardware machen wuerde. Und so etwas ist immer langsamer als eine Nicht-Emulation. Und hierin liegt der Grund warum GW2 auf dem Mac so viel schlechter laeuft, und auch gleichzeitig warum so viele hier nach einem “nativen Mac Client” rufen. Weil der naemlich – wie Blizzard bei WoW zum Beispiel – die Emulation umgehen und somit potentiell sehr viel besser laufen wuerde.

So, tut mir leid fuer den langen Text, aber vielleicht hilft es ja ein paar Leuten zu verstehen, was hier beim Mac-Client eigentlich passiert

Tirkku, blauer Sylvari-Ranger

Portierung vs native (Oder OSX vs Cider)

in Technische und account-spezifische Fragen

Posted by: Erytheia.8724

Erytheia.8724

Mich würde interessieren, wie viel Performance wirklich verloren geht. Viele Funktionen müssen ja nur “umgemünzt” werden. Beispielsweise um eine Datei zu öffnen. Diese Funktion gibt es bei beiden Betriebssystemen, da muss man nur die Funktion weiterreichen. Bei vielen anderen ist es ähnlich.

Hardware muss man eigentlich nicht emulieren – da ja Windows auch nativ läuft, ist hardwaremäßig alles vorhanden. Einzig was wirklich kritisch sein kann, wäre DirectX. Das gibt es nicht, OsX benutzt meines Wissens nach OpenGL. Die Frage ist, wie gut man hier die Funktionen einfach durch OpenGL ersetzen kann.

Ich vermute mal, der Hauptgrund, warum es schlechter läuft ist ein anderer. Die Grafikkartenhersteller liefern bessere Treiber für Windows ab und diese sind auf DirectX optimiert. Daher die Unterschiede. Man sieht das auch bei den Änderungsliste bei den Treibern: “Spiel XYZ wird jetzt besser unterstützt” etc. Ich schätze mal, das die Grafikkartentreiber für viele Spiele möglichst speziell optimierte Einstellungen/Programme mitliefern und daher es besser läuft. Sprich der Treiber wird an das Spiel angepasst.

Gleiches gibt es halt bei MacOs nicht und daher vermutlich die größeren Unterschiede.

(Zuletzt bearbeitet am von Erytheia.8724)

Portierung vs native (Oder OSX vs Cider)

in Technische und account-spezifische Fragen

Posted by: Crionic.3069

Crionic.3069

Ach man…. immer dieses Halbwissen. Hier wird mit dem Wort “EMULATION” rumgeworfen ohne zu wissen was eine Emulation eigentlich wirklich ist.

Und wenn Windows unter Bootcamp installiert wird, dann ist das NATIV ! Es macht den mac zu einem vollwertigen WIN Rechner und nicht “mehr oder weniger”.

Und nein, CIDER Emuliert gar nichts ! Es stellt lediglich die Funktionen der WindowsAPI`s zur Verfügung. Wer mehr wissen will findet bei Onkel Google mehr, eine Abhandlung schreib ich hier nicht.

Also nochmal, hier wird nix emuliert….. Auch die Software emuliert nix was eigentlich die Hardware machen sollte.
Das Problem sind die Windows API`s die…. ja…die eben nur auf WIN 100% laufen, da WIN eine andere Architektur hat, und drum muss das eben auf OSX umgebogen werden, genau da liegt das Problem, bzw die verlorene Performance.

Blizzard hat das eleganter gelöst, der grösste teil des codes ist der gleiche wie in der WIN Version…. der Rest ist an OSX angepasst.

Ich gebe zu das ich hier sehr grob beschrieben habe, sonst wirds mir zu lange

Cheers

Crionic

Portierung vs native (Oder OSX vs Cider)

in Technische und account-spezifische Fragen

Posted by: Ignitas.9573

Ignitas.9573

Oder einfach kurz zusammengefasst:

  • Cider, Wine, Crossover und Co. -> Win API auf equivalente Unix (OS X/Linux…) API übersetzt
  • Virtuelle Maschienen (VMware, Paralleles Desktop, Virtual Box) -> System läuft auf emulierter Hardware
  • Bootcamp -> System läuft nativ, sobald es gestartet ist, zum Starten wird aber ein Bootloader benötigt*

*auf den Mac heißt der halt Bootcamp, im Prinzip ist es aber vergleichbar als würde man OS X auf nen Windowsrechner mit Hilfe von den bootloader chameleon laufen lassen (Benötigt Aufgrund von Unterschiede im Bootprozess, die aber etwas zu kompliziert sind um die hier zu erklären)

Spielt Asura Schach in eurem Browser! (zur Diskussion)

Portierung vs native (Oder OSX vs Cider)

in Technische und account-spezifische Fragen

Posted by: Ghanji.8647

Ghanji.8647

Und nein, CIDER Emuliert gar nichts !

  • Cider, Wine, Crossover und Co. -> Win API auf equivalente Unix (OS X/Linux…) API übersetzt

Quoted for truth.
@TE: Erst informieren, dann selbst aufklären

Portierung vs native (Oder OSX vs Cider)

in Technische und account-spezifische Fragen

Posted by: Erytheia.8724

Erytheia.8724

Das der API übersetzen kann man auch als Emulieren ansehen. Wer sagt, das man nur Hardware emulieren kann? Die Frage ist, wie umfangreich das ist. Gewisse Sachen sind leicht zu machen, wie bspw. Dateizugriffe. Das gibt es bei beiden Betriebsystemen. Kritische wird es bei DirectX – da gibt es nichts 100% vergleichbares (Ja OpenGL, das ist aber was anderes) und hier würde mich halt interessieren, wieviel Performance da verloren geht.