Hallo liebe mit Simser!
Wie vielleicht einige anderen auch, habe ich bei Sims 3 das Problem das Vsync ( Vertikale Syncronisation ) in Sims 3 nicht funktioniert. Dies führt zu den bekannten Problem das einige grade neuere Grafikkarten sehr viele Bilder pro Sekunde (FPS) darstellen wollen.
Nach ein wenig suche habe ich dann den FPS Limiter gefunden (im Nachhinein habe ich auch gesehen das er bei Critnicts Blog verlinkt ist).
Da ich nach installation von besagten FPS Limiter (zusammen mit 3booter) Probleme hatte habe ich als Technisch versierter Mensch mir das Programm mal sehr genau angesehen und folgendes festgestellt.
Das Programm tut im grunde eines. Es zwingt Sims 3 dazu eine native Direct X9 Render Pipeline zu verwenden. Nutzt man eine Direct x9 oder directx 10 kompatible Grafikkarte ist das alles kein Problem.
Seit DirectX 11 jedoch wurde in einem Speziellen Bereich (Fließkommapräzision) eine Änderung vorgenommen die bei Sims 3 (oder jedem Spiel das native DirectX11 unterstützt) in der Kombination mit dem FPS Limiter zu schweren Fehler bis hin zu Hardwareschäden führen kann!
Die Ursache des Problems liegt darin das eine Grafikkarte im Falle einer falschen oder Fehlenden Angabe ( Präzisionswert für Fließkommaberechnungen ) normalerweise zwei Methoden kennt ( Cut und NULL ). Im ersten Fall reduziert sie die Präzision im Zweiten reduziert sie die genauigkeit so lange bis ein Wert im Vorgegebenen Bereich zurückgeliefert wird und verwirft das Ergebnis wenn nach x Schritten kein Valides Ergebnis zurückgeliefert wird.
Seit es Hardwareseitiges Direct X 11 gibt, gibt es jedoch eine dritte Methode (Strain) Strain Rundet nach jedem durchlauf auf x Stellen.
Wenn man jetzt via FPS Limiter eine Direct X9 Render Pipeline erzwingt führt dies zu Problemen welche ich gleich genauer erläutere.
Strain ist an sich sehr viel Vorteilhafter (weil Speichersparender und vorhersehbarer).
Zwingt man jetzt eine DirectX11 Hardware der neueren Generation dazu einen nicht Strain Wert zurückzuliefern kann dies zu einem Loop führen. Das heißt das obwohl die Hardware sagt runde auf x Stellen nach dem durchlauf auf y er mit dem zurückgegebenen Wert weiterrechnet. Dies führt dazu das ein immer neuer Wert entsteht der wieder gestraint wird, eine Endlosschleife die im besten Fall zu einem Programmabsturz oder Bildfehlern führt. Im schlimmsten fall KANN ( MUSS ABER NICHT ) die Hardware hier durch überbelastung schaden erleiden. Das Problem bei der Kombination ist das die Hardware nie den Befehl erhält einen Wert zu verwerfen bzw komplett neu zu berechnen.
Grundlage des Problems ist das jene Instruktionen die FPS Limiter aufruft sind eigentlich dafür gedacht eine Abwärtskompatibilität mit Direct X8 sicherzustellen.
TLDR: Wer eine DirectX 11 Grafikkarte besitzt und FPS Limiter nutzt nutzt NICHT die Direct X9 Render Pipeline die FPS Limiter festsetzt ( sie nutzt obsolete Daten die eigentlich nur dazu gedacht waren abwärtskompatibilität mit DirectX8 zu gewährleisten). Dies kann ( aber muss nicht ) zu schäden an eurer Grafikkarte führen.
Wie vielleicht einige anderen auch, habe ich bei Sims 3 das Problem das Vsync ( Vertikale Syncronisation ) in Sims 3 nicht funktioniert. Dies führt zu den bekannten Problem das einige grade neuere Grafikkarten sehr viele Bilder pro Sekunde (FPS) darstellen wollen.
Nach ein wenig suche habe ich dann den FPS Limiter gefunden (im Nachhinein habe ich auch gesehen das er bei Critnicts Blog verlinkt ist).
Da ich nach installation von besagten FPS Limiter (zusammen mit 3booter) Probleme hatte habe ich als Technisch versierter Mensch mir das Programm mal sehr genau angesehen und folgendes festgestellt.
Das Programm tut im grunde eines. Es zwingt Sims 3 dazu eine native Direct X9 Render Pipeline zu verwenden. Nutzt man eine Direct x9 oder directx 10 kompatible Grafikkarte ist das alles kein Problem.
Seit DirectX 11 jedoch wurde in einem Speziellen Bereich (Fließkommapräzision) eine Änderung vorgenommen die bei Sims 3 (oder jedem Spiel das native DirectX11 unterstützt) in der Kombination mit dem FPS Limiter zu schweren Fehler bis hin zu Hardwareschäden führen kann!
Die Ursache des Problems liegt darin das eine Grafikkarte im Falle einer falschen oder Fehlenden Angabe ( Präzisionswert für Fließkommaberechnungen ) normalerweise zwei Methoden kennt ( Cut und NULL ). Im ersten Fall reduziert sie die Präzision im Zweiten reduziert sie die genauigkeit so lange bis ein Wert im Vorgegebenen Bereich zurückgeliefert wird und verwirft das Ergebnis wenn nach x Schritten kein Valides Ergebnis zurückgeliefert wird.
Seit es Hardwareseitiges Direct X 11 gibt, gibt es jedoch eine dritte Methode (Strain) Strain Rundet nach jedem durchlauf auf x Stellen.
Wenn man jetzt via FPS Limiter eine Direct X9 Render Pipeline erzwingt führt dies zu Problemen welche ich gleich genauer erläutere.
Strain ist an sich sehr viel Vorteilhafter (weil Speichersparender und vorhersehbarer).
Zwingt man jetzt eine DirectX11 Hardware der neueren Generation dazu einen nicht Strain Wert zurückzuliefern kann dies zu einem Loop führen. Das heißt das obwohl die Hardware sagt runde auf x Stellen nach dem durchlauf auf y er mit dem zurückgegebenen Wert weiterrechnet. Dies führt dazu das ein immer neuer Wert entsteht der wieder gestraint wird, eine Endlosschleife die im besten Fall zu einem Programmabsturz oder Bildfehlern führt. Im schlimmsten fall KANN ( MUSS ABER NICHT ) die Hardware hier durch überbelastung schaden erleiden. Das Problem bei der Kombination ist das die Hardware nie den Befehl erhält einen Wert zu verwerfen bzw komplett neu zu berechnen.
Grundlage des Problems ist das jene Instruktionen die FPS Limiter aufruft sind eigentlich dafür gedacht eine Abwärtskompatibilität mit Direct X8 sicherzustellen.
TLDR: Wer eine DirectX 11 Grafikkarte besitzt und FPS Limiter nutzt nutzt NICHT die Direct X9 Render Pipeline die FPS Limiter festsetzt ( sie nutzt obsolete Daten die eigentlich nur dazu gedacht waren abwärtskompatibilität mit DirectX8 zu gewährleisten). Dies kann ( aber muss nicht ) zu schäden an eurer Grafikkarte führen.
Zuletzt bearbeitet: