Paint.net extrem Ressourcen-Intensiv? 2

[gone] falschbelichtung ( o.O )
25.08.2010
Ahoi liebe Pixelschubbser!

Ich bin seit kurzem auf den Trichter gekommen, mich mal intensiver mit außerphotoshoppischem Arbeitsgerät zu befassen. Im Klartext: Ich hab mir mal son paar freie Sachen wie Gimp und Co. angeschaut und bin kürzlich bei meinem bisherigen "freien" Favoriten paint.net gelandet.

Die Frage die sich mir dabei stellt ist folgende: Kann es sein, dass das Programm eine Art Ressourcen-Nimmersatt ist?

Ich arbeite im Moment an einem System mit Core i5, 8GB Ram und einer GF250GTS mit 1GB, unter Win 7.
PS CS4 brauch z.B. für das Zusammenfügen einer Ebene bei einem 16b/kanal Bild in 10mp gefühlt nichtmal ne 1/20 Sekunde und von irgendwelcher Systemauslastung is nix zu spüren.
Paint.net brauchd dafür schonmal locker ne Sekunde oder zwei, die Systemauslastung liegt auf einem Kern bei 100% und bringt das System ziemlich ins stocken.

Noch gravierender wirds bei den Filtern: Einfacher Gausscher Weichmatscher für nen Monochrom-Bild bei 10MP dauert in PS nichmal ne Sekunde, in Paint.net fast 20 Sekunden (bei voller Systemauslastung auf einem Kern).

Ist Paint.net wirklich so ein enormer Ressourcenfresser oder hab ich einfach irgendwas nicht richtig konfiguriert, damit die Karre nich binnen Sekunden den kompletten Ram mit Dumfug zumüllt und bei den einfachsten Aktionen den Prozessor an die verrecken-Grenze treibt?

Bin ma gespannt ob sich da wer mit auskennen tut. ;-)
Naja, ich hab jetzt keine höllische große Erfahrung mit paint.net - hab da nur mal kurz mit rumgespielt, weil's mal bei einer ct-CD dabei war - aber ich kann mir gut vorstellen, daß das recht viel Ressourcen verbraucht. Und zwar aus zwei Gründen:

1. Ist das - wie der Name schon andeutet - kein nativ kompiliertes Programm, das aus direkt ausführbarem Maschinencode besteht, sondern setzt auf das .net-Framework auf. Das ist so ähnlich wie Java, nur eben in fett: .net-Programme laufen nicht direkt selbst, sondern das .net-Framework wird gestartet und verwandelt das Programm erst zur Laufzeit in 'echten' Maschinencode. Und das kostet ziemlich viel Ressourcen, vor allem auch weil das .net-Framework selbst bereits extrem Ressourcenhungrig ist. Das klingt jetzt recht technisch - stell Dir das vor, wie ein Auto: ein normales Programm verhält sich wie ein normales Auto, das von sich aus fahren kann. Ein .net-Programm ist wie ein kaputtes Auto, das nur fahren kann, wenn es abgeschleppt wird (und der Abschlepper ist das .net-Programm). Und ein abgeschlepptes Auto ist nun mal nicht so flott, wie eines das selbst fahren kann ;)

Der Vorteil des .net-Frameworks besteht darin, daß durch diesen Unterbau bereits haufenweise Funktionen programmiert sind, die man dann nicht selbst programmieren muß. Und es ist (theoretisch) plattformunabhängig. Aber das führt jetzt zu weit...

.net wird u.a. dazu benutzt, um mal eben schnell ein Programm zu schreiben und sich dabei eine Reihe Streß zu ersparen.

Und das führt uns zum zweiten Grund:
2. paint.net war ursprünglich ein Projekt von ein paar Informatik-Studenten. Mittlerweile wird es zwar von Microsoft weiterentwickelt, aber auch dort nicht mit dem Anspruch, ein wirklich ernsthaft professionelles Programm zu schreiben, sondern eher als kleines Grafikprogramm, mit dem unbedarfte Benutzer mal kurz ein paar Bildchen malen können.
Deshalb greift paint.net oft einfach auf Standardfunktionen des .net-Frameworks zurück, die nicht auf Geschwindigkeit und Ressourcenschonung ausgelegt sind. Und so ähnlich wird wohl auch der Quelltext von paint.net aussehen: eher nach dem Motto 'Hauptsache es klappt irgendwie' und weniger 'es soll schnell und sparsam sein' (so wie dies bei Gimp oder PS der Fall ist, wo der Quelltext permanent optimiert wird, um leistungsfähiger zu werden).
Und so ein Ansatz verschleudert natürlich massiv Speicher und CPU-Leistung.

Das wird sich vermutlich auch nicht wirklich ändern.

Topic has been closed