nordstern hat geschrieben:Wg Multicore: Ich merke halt davon garnichts. Stellaris Midgame... Prozessorauslastungen. Wenn ich mir da die einzelnen Prozessoren anschaue stelle ich fest, das Stellaris nur auf lediglich einem läuft. Keine Ahnung wo da die leichte Mehrkernunterstützung ist.
Probier es aus. Da sicherlich vom Spiel abgefragt wird wie viele Kerne zur Verfügung stehen, musst du im BIOS die einzelnen Kerne deaktivieren. Die meisten Boards unterstützen das. Evtl. musst du noch in Configurationsdateien schauen das dort keine Kernzahl hinterlegt ist.
Man muss hier aber auch klar sagen, das 2007 Mehrkern ne kniffliche Sache war. Heute ist das wesentlich anders, weil die Treiber der CPUs das bereits selbst machen und der Datenaustausch zwischen den CPUs so schnell wurde, das da keine nennenswerten Zeitverzögerungen mehr auftreten.
CPU-Treiber helfen da nicht im geringsten, wenn die Anwendung nicht darauf ausgelegt ist. Zudem ist auch noch entscheidend welche CPU genau es ist. Für AMDs Ryzen brachte CA einen Patch um die Leistung in TWW zu erhöhen. CA musste der Engine beibringen das bestimmte AMD CPUs nun auch SMT beherrschen, und dementsprechend die Threads auf die Kerne verteilen. Weitere besonderheiten könnten auch noch berücksichtigt werden.
Die Umsetzung war auch nicht wirklich kniffliger, es fehlte schlicht an Erfahrung. Wenn man sich nie Gedanken darum machen musste, weil eh nur ein Kern zur Verfügung stand, ist es erst mal eine Herausforderung so zu Programmieren das die eigene Anwendung direkt davon profitieren kann.
Nun hat sich die Herausforderung dahingehend verschoben, das man nun überlegen muss wie man es bewerkstelligt das die Anwendung nennenswert von mehr als 2-3 Kernen profitiert.
Bisher gibts noch immer wenige Engines die nennenswert von mehr als 4 Kerne profitieren. Den größten zugewinn sieht man noch beim wechsel von 2 auf 3 oder 4 Kerne, darüber hinaus ist der zugewinn meist vernachlässigbar.
TotalWar hat ja auch erst mit Rome2 richtig auf Multicore umgestiegen. Rome2 zu Release konnte kein Multicore, was bei vielen Käufern mit Highend-PCs sehr viel Frust erzeugte. Da alte PCs mit weniger Kernen aber höheren Taktraten/Kern deutlich besser liefen als neue Highend-CPUs. Das wurde aber wenige Wochen nach Release geändert. Allerdings weis ich nicht wie die Clausewitzengine ausgelegt ist... ob sowas da möglich ist oder ob diese die Multicore-Unterstützung noch selbst durchführt statt auf die CPU-Software zu vertrauen. Theoretisch müsste sie es können, da die TotalWar-Engine auch aus dem Jahr 2007 kommt (Restrelease war 2009, aber die Entwicklung begann ja schon früher).
Bei Rome2 wird CA es nur optimiert bzw. aktiviert haben, per Patch nachrüsten ist nicht so wirklich möglich, da es größere Veränderungen bedarf.
Tatsache ist das Paradox ein Problem hat. Ihre eigenen Spiele entwickeln immer größeren Prozessorhunger, sie können aber durch die Programmstruktur und/oder Engine diesen Hunger nicht stillen. Pradox hat da ein großes Problem und das müssen sie lösen... egal wie.
Das stimmt, sie müssen ihre Engine auf stärkeres Multithreading umstellen, das muss jeder Entwickler.
Dank AMD ist nun die Zeit angebrochen das immer mehr Leute 6-8 Kerne + SMT in ihren Rechnern haben werden. Auch Intel wird im Mainstream-Markt nachziehen (i3 als Quad ohne SMT, i5 als Hexa ohne SMT, i7 als Hexa mit SMT).
Die IPC bzw. der Takt wird dagegen jedoch kaum mehr so stark ansteigen, das man es sich erlauben kann die Hauptlast auf 1-2 Kerne zu legen, bei gleichzeitiger hoher Wichtigkeit der CPU-Leistung.
Mit DX12 und Vulkan stehen den Entwickler jedoch 2 APIs zur Verfügung um die CPU-Last etwas zu reduzieren bzw. effizienter zu nutzen.