Hmm .. also erstmal: Der Ryzom-Client ist im aktuellen Code nicht parallelisiert.
Eine "echte" Unterstützung für mehrere Kerne gibt es nicht. Diese wäre aber notwendig, um wirkliche Performancezuwächse zu haben. Oder um Ryzom auf deutlich langsameren Cores toll spielen zu können.
Das Spiel besteht, wie die allermeisten anderen auch, immer noch aus einer Hauptschleife, die abgearbeitet wird, und zwar Schritt für Schritt, wo der eine vom anderen abhängig ist. Das kann man zwar auf mehrere Kerne verteilen, aber es ändert nichts an der Tatsache, daß alles eins-nach-dem-anderen abgearbeitet wird.
Natürlich hat das Spiel auch Unterprozesse, die theoretisch eine gewisse Parallelisierung erlauben - beispielsweise werden diese fürs Netzwerk, die Soundausgabe und den Zugriff auf die großen Datendateien genutzt. Aber das sind alles Dinge, die von der Leistungsnutzung weniger als 1% ausmachen.
Auf der anderen Seite haben aber beispielsweise Nutzer von ATI-Grafikkarten je nach Einstellung einen Prozess mit drin, der einen Teil der Grafikfunktionen verwaltet. Dieser läßt sich tatschlich teilparallel ausführen. So kann man beobachten, daß Ryzom auf einem Vierkerner z.B. statt 25% (=1 Kern voll) Auslastung etwa 32% zeigt. Das aber in meinem Fall nur in der Charauswahl. Danach sind es etwa 27%. Solange ich den Rechner also nicht ernsthaft zur Arbeit einsetze, lasse ich lieber die anderen drei Kerne deaktiviert und spare was Strom.
(Wer diese Werte vergleichen will: obiges gilt für einen AMD x4, 4x3,7GHz / Ati Radeon 3870 / Win 7u x64)
(Wer bei sich selbst detaillierter messen möchte, dem lege ich Procexp bzw. Procexp64 von Sysinternals ans Herz. Ryzom darin doppelklicken. Die aktuelle Version zeigt auch die Grafikauslastung detailliert an)
Um das aber richtig darzustellen: Dieser "Gewinn" ist kein Verdienst von Ryzom, sondern der Prozess gehört zum Grafiktreiber. Ryzom muß zwangsläufig etliche Systemaufrufe an den Treiber machen, und dieser Prozess enthält großteils Funktionen, die die Grafik(-leistung) nebenbei optimieren soll. Von der Last dieser Zusätze befreit man das Spiel teilweise, indem man ihm die Nutzung mehrerer Kerne erlaubt und damit verhindert, daß Ryzom sich einen Kern mit diesen Zusätzen teilen muß.
Von obigem mal abgesehn:
Ob Ryzom nun einen Kern voll auslastet, oder mehrere Kerne zu gleichen Bruchteilen, die in der Summe wieder auf einen Kern hinauslaufen - die Performance ist sehr ähnlich.
Natürlich kann es bei bestimmten Systemen trotzdem sowohl was besser, als auch schlechter laufen.
Zu einem gewissen Grad bleibt IT eben Voodoo. Und so manches ist auch schonmal ein Placeboeffekt.
Eine "echte" Unterstützung für mehrere Kerne gibt es nicht. Diese wäre aber notwendig, um wirkliche Performancezuwächse zu haben. Oder um Ryzom auf deutlich langsameren Cores toll spielen zu können.
Das Spiel besteht, wie die allermeisten anderen auch, immer noch aus einer Hauptschleife, die abgearbeitet wird, und zwar Schritt für Schritt, wo der eine vom anderen abhängig ist. Das kann man zwar auf mehrere Kerne verteilen, aber es ändert nichts an der Tatsache, daß alles eins-nach-dem-anderen abgearbeitet wird.
Natürlich hat das Spiel auch Unterprozesse, die theoretisch eine gewisse Parallelisierung erlauben - beispielsweise werden diese fürs Netzwerk, die Soundausgabe und den Zugriff auf die großen Datendateien genutzt. Aber das sind alles Dinge, die von der Leistungsnutzung weniger als 1% ausmachen.
Auf der anderen Seite haben aber beispielsweise Nutzer von ATI-Grafikkarten je nach Einstellung einen Prozess mit drin, der einen Teil der Grafikfunktionen verwaltet. Dieser läßt sich tatschlich teilparallel ausführen. So kann man beobachten, daß Ryzom auf einem Vierkerner z.B. statt 25% (=1 Kern voll) Auslastung etwa 32% zeigt. Das aber in meinem Fall nur in der Charauswahl. Danach sind es etwa 27%. Solange ich den Rechner also nicht ernsthaft zur Arbeit einsetze, lasse ich lieber die anderen drei Kerne deaktiviert und spare was Strom.
(Wer diese Werte vergleichen will: obiges gilt für einen AMD x4, 4x3,7GHz / Ati Radeon 3870 / Win 7u x64)
(Wer bei sich selbst detaillierter messen möchte, dem lege ich Procexp bzw. Procexp64 von Sysinternals ans Herz. Ryzom darin doppelklicken. Die aktuelle Version zeigt auch die Grafikauslastung detailliert an)
Um das aber richtig darzustellen: Dieser "Gewinn" ist kein Verdienst von Ryzom, sondern der Prozess gehört zum Grafiktreiber. Ryzom muß zwangsläufig etliche Systemaufrufe an den Treiber machen, und dieser Prozess enthält großteils Funktionen, die die Grafik(-leistung) nebenbei optimieren soll. Von der Last dieser Zusätze befreit man das Spiel teilweise, indem man ihm die Nutzung mehrerer Kerne erlaubt und damit verhindert, daß Ryzom sich einen Kern mit diesen Zusätzen teilen muß.
Von obigem mal abgesehn:
Ob Ryzom nun einen Kern voll auslastet, oder mehrere Kerne zu gleichen Bruchteilen, die in der Summe wieder auf einen Kern hinauslaufen - die Performance ist sehr ähnlich.
Natürlich kann es bei bestimmten Systemen trotzdem sowohl was besser, als auch schlechter laufen.
Zu einem gewissen Grad bleibt IT eben Voodoo. Und so manches ist auch schonmal ein Placeboeffekt.
---
[ˈtʌʎˌjaː ˈʃʌtˑənˌtans] - The wog with the whip! Always takin' care for purposive Ryzom development and conductive community behavior via appropriate amounts of well-placed criticism.Botherin' homins since Aug '06 - Nuttin' ta lose, but a bad rep.
DE, EN, C++, ASM, MHD, ahd, nl (Ik werk eraan als een ploegpaard), it, lat