WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Hardware (http://www.wcm.at/forum/forumdisplay.php?f=21)
-   -   Grafikspeicher Defragmentieren? (http://www.wcm.at/forum/showthread.php?t=203786)

sergio 18.11.2006 09:46

Zitat:

Original geschrieben von pilot-en
... Aber wenn wir gerade dabei sind, irgendeine Ahnung wo ich die Dateien von Matt Fox finde, ich bin auf seiner Seite nicht fündig geworden.
Sie werden bald bei uns auf dem Server zu finden sei, sobald die Website am offiziellen Erscheinungstag der Dezemberausgabe (21.11.06) umgestellt sind.

Aber man kann sie auch hier haben: http://www.fox-fam.com/wordpress/?page_id=41

hupfi.h 18.11.2006 10:35

hallo, Sergio :-)

bei der ersten Homepage, "MemStatus" steht da wirklich

für DirektX5 :confused:

LG

Betto 18.11.2006 13:17

RAMster ist Shareware und beinhaltet keine Autostart- und keine Auto-Defrag-Funktion, die man dann gegen Bezahlung bekäme. Das sieht für mich nach dem Prinzip "Mund wässrig machen und dann kaufen" aus.

Die c't hat sich vor wenigen Jahren (ich glaube zwei) das letzte Mal intensiv mit solchen Programmen auseinandergesetzt und mit Genuß zerlegt, daß keines eine eigene Funktion einführt, sondern alle nur API-Aufrufe tätigten (also Betriebssystem-Funktionen abriefen). Sie können also schon technisch gesehen nichts, was das Betriebssystem (BS) nicht auch kann.

Da ich gerade etwas mehr Zeit habe als bei meinem letzten Beitrag, hier drei Argumente:

1) "Defragmentieren" bedeutet, die Daten so anzuordnen, daß sie physisch zusammenhängend im Medium gespeichert sind. Bei einer Festplatte hat das zumindest prinzipiell Sinn, weil der Zugriff auf das erste Datum um einen Faktor 200 langsamer ist als auf die unmittelbar folgenden. Bei RAM ist der Zugriff nur um Faktor 4 langsamer, der Effekt also sowieso ca. 50-mal kleiner. *)

Moderne Betriebssysteme wie MacOS, Linux, WinXP etc. gehen so intelligent mit der Ansteuerung der Festplatte um, daß Defragmentieren nur noch in Extremfällen sinnvoll und meßbar ist. Bei Normalgebrauch des Computers ist es sinnlos. (Eher in dem psychologischen Sinne, daß der User das Gefühl hat, noch etwas "schrauben" zu können. Darum mache ich's auch manchmal - schizophren. ;) ) Bei RAM wäre der Effekt aber definitiv nicht mehr meßbar. **)

2) Alle "RAM-Defragmentierer" setzen auf die gleiche Methode auf: Sie erzeugen einen Datenblock im Hauptspeicher, der nahezu alle anderen Daten verdrängt, so daß das BS gezwungen ist, sie auf die Platte (Swapfile) auszulagern. Danach wird dieser Datenblock wieder gelöscht, so daß ein großer, freier Bereich angezeigt werden kann. Kein Wunder: Alles andere wurde auf die Platte gezwungen, egal ob benötigt oder nicht.

Diesen Vorgang kann allerdings jedes moderne BS selbst vornehmen: Es bewertet die Relevanz der Daten (bzw. die Häufigkeit der Zugriffe) und lagert dementsprechend aus oder nicht. Das heißt, wenn festgestellt wird, daß der Flusi tatsächlich permanent auf 800 MB RAM zugreift, dann wird ihm dieser Platz auch eingeräumt, wenn genügend vorhanden ist. Nur sind zum Betrieb des Flusi auch noch andere Code-Teile nötig außer dem Flusi selbst, namentlich Teile des BS selbst, dessen Treiber etc. Es ist also keineswegs sinnvoll, alles andere stumpf auf die Platte auszulagern, nur damit man sich über scheinbaren Platz freuen kann. Denn nochmals: Falls benötigt, kann das BS dies selbst.

3) Das wichtigste Argument ist aber, daß man einem Programm nur einen Platz im RAM freiräumen kann. Man kann aber nicht bestimmen, wie die einzelnen Daten innerhalb dieses Platzes abgelegt werden und vor allem nicht nach Relevanz sortieren. Das macht das Programm selbst in Verbindung mit der Hauptspeicher-Verwaltung des BS. Das bedeutet, daß die "Fragmentierung" der Daten im RAM und der Zugriff darauf von außen schlicht nicht beeinflußbar ist. Im Gegenteil, das ist Gegenstand der (langwierigen) Optimierung jedes Programms, das wirklich auf Speed angewiesen ist - und ein wesentliches Qualitätsmerkmal des Compilers, mit dem es geschrieben wurde.

Das sollte wirklich jeder Anfänger-Programmierer wissen, also unterstelle ich, auch die Autoren von solch sinnvollen Tools wie "RAM-Optimierern". Darum habe ich auch einen Begriff wie "Schwachsinn" benutzt, weil er sich eigentlich auf die Macher dieser Programme bezog.

Noch ein Wort zu Grafikkarten: Auch dort können Daten ausgelagert werden, auch dort sorgen Firmware und Treiber dafür, wie benötigte Daten nachgeladen werden, das Programm (Spiel) sagt, wann und welche Daten. Jedes Programm, das extern an diesen Zugriffen etwas ändern will, muß (müßte) selbst die Wichtigkeit der Daten analysieren und diese dann aktiv ändern. Woher kommt denn die Rechenzeit, um das zu erledigen? Woher kommt die zusätzliche Speicher-Bandbreite, die benötigt wird, um Daten zu verschieben? Richtig, alles aus vorhandener Rechenzeit und vorhandener Bandbreite, weil beides physisch begrenzt ist. Also müßten die Treiber-Pogrammierer schon mächtig geschlampt haben, bevor ein derartiger "Optimierer" einen positiven Effekt hätte. Oder glaubt jemand, die Shareware-Programmierer würden die Hardware besser kennen als der Hersteller oder die Zugriffsequenzen besser als der Spiele-Programmierer?! ;)

So, genug erzählt. Gruß,

Betto


*) Zum mitrechnen (bei einer modernen Festplatte):
Random Access Time (auf das jeweils erste Datum): ca. 12 ms.
Continuous Streaming: ca. 70 MB/s; formatiert mit NTFS und 4096 Bytes-Clustern - macht 17500 Cluster/s oder 0.06 ms von einem Cluster (Datum) zum Nächsten.
12 ms ist 200-mal so lange wie 0.06 ms.

Bei DDR-RAM dauert der Zugriff auf das erste Datum etwa 4-mal länger als auf unmittelbare Nachbarn (unmittelbar aus der Column Access Strobe Latency ableitbar, kurz CAS-L oder CL).


**) Daher hat es ja seinen Namen, weil es nahezu beliebig verteilte Zugriffe erlaubt: Random Access Memory.

pilot-en 18.11.2006 14:11

Hallo Betto,

vielen vielen Dank für Deine ausführliche Beschreibung! Jetzt bin ich um einiges schlauer geworden :-)

Im Grunde genommen heißt das, dass alle sogennante "Tuning-Tools" mist sind, richtig?

Hmm, dann werde ich mein PC wohl hardwaretechnisch updaten müssen.

Danke FlightXPress und das Forum für die seriöse Beiträge! Von mir kriegt Ihr eine 1+ ;-)

Liebe Grüße,
Ernesto

Betto 18.11.2006 16:16

Danke zurück. :-)

Ich würde nicht so weit gehen, zu sagen, daß alle Tuning-Tools Mist sind (ich kenne ja nicht alle), aber sicher die meisten und jedenfalls alle RAM-Tuning-Tools. ;) Das einzige Tool, das ich tatsächlich verwende, ist der Catalyst-Treiber für meine ATI-Grafikkarte, wo ich die Speicher- und GPU-Frequenzen um 14% bzw. 16% erhöht habe. (Abgesehen davon, daß meine CPU übertaktet ist und ich in der CFG-Datei vom Flusi herumgespielt habe.)

WinXP macht seine Sache für mich letztlich selbst gut genug, so daß mir meine Zeit zu schade ist, viele Stunden mit Dingen zu verbringen, die potentiell auch Schaden anrichten könnten oder oft nur 1% mehr Leistung bringen. Da gehe ich lieber spazieren oder daddel eine Runde länger. ;)

Grüße,

Betto

günther 19.11.2006 11:07

Hallo Betto,
habe ein ähnliches System wie Du. Um wieviel hast Du Dein CPU übertaktet, oder fragen wir mal besser: Was rätst Du beim Athlon64 Newcastle 3400+, ohne daß man Angst vor Abstürzen haben muß?
Günther

Stef_EDDH 19.11.2006 11:34

Mein Athlon64 3400+ läuft mit einer Taktfrequenz von 2,4Ghz einwandfrei im Flusi und ist bisher weder abgestürzt, noch hat er kritische Temperaturwerte erreicht. Als Kühler ist ein Arctic CoolerFreezer 64 montiert - also keine besonderen Maßnahmen. Der RAM taktet mit 210 MHz dabei.

günther 19.11.2006 12:26

@steffen
Danke schon mal!
Günther :-)

baksteen33 19.11.2006 19:10

>>Ich würde mir bei knapp 100% Auslastung vom Speicher Gedanken machen, aber nicht wenn nur ein Drittel benutzt wird.<<


Bei mir schrillen die Alarmglocken 'etwas' früher, je nach Komponente... ;-)


@ Betto, danke für deine wohltuenden Worte! Müsste sticky gemacht werden IMHO. Geht das hier?

Grüsse

Jaap

pilot-en 20.11.2006 02:18

Hi Betto,

ich habe eine ATI X800 Pro, aber habe keine Ahnung wie ich sie übertakten kann. Mit Catalyst komme ich auch nicht klar. Ich bin sowas wie ein technischer Analphabet :D

Am liebsten würde ich mein Com in die Tonne werfen! Nicht nur die mageren 7-10 FPS, sobald ich mich im Landeanflug befinde macht er nichts mehr, dabei ist mein Prozessor bei 80% und habe locker noch 500MB Arbeitsspeicher frei. Klar sind meine 256MB Ram GraKa am Limit, aber der könnte doch ruhig mehr Arbeitsspeicher nutzen. Etwas stimmt mit dem Computer nicht.


Liebe Grüße,
Ernesto


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag