F
FaceToFace
Gast
Grüß Gott.
Ich habe hier im Forum ein Programm gefunden, dass ein Fenster nachzeichnet, dafür aber immer nur die Farbe von einem Pixel ermittelt und diese dann überträgt. Nun habe ich aber ein sehr seltsames Problem: Das Programm läuft unter Windows 7(64-bit), bzw Vista(32-bit) extrem langsam. Es benötig für jede Zeile zu je 30 Pixeln ca 5 sec. Dies ist wirklich sehr lang, da ich für 300 Zeilen dann sehr lang brauche. Bei einem anderen PC ist das aber nicht so: Er hat Windows XP(32-Bit) und einen Pentium 4 mit 3,00 GHz. Er benötigt für das ganze Bild(diesmal 300*400) nur 20 Sekunden. Der andere Computer hat aber einen Core i5 und der sollte rein theoretisch schneller als ein P4 sein . Also meine frage: Liegt es nun am Betriebssystem, oder an meiner Java-Version(sollte die neueste sein)?. Kann mir das echt nicht erklären.
Hier aber erstmal das Programm. Es funktioniert nur am Anfang dauert es auch ein bisschen. Wäre auch nett wenn ihr es probieren könntet und vll Betriebssystem + Zeit(muss nicht fürs ganze Bild sein) angeben könntet:
mfg Face
Ich habe hier im Forum ein Programm gefunden, dass ein Fenster nachzeichnet, dafür aber immer nur die Farbe von einem Pixel ermittelt und diese dann überträgt. Nun habe ich aber ein sehr seltsames Problem: Das Programm läuft unter Windows 7(64-bit), bzw Vista(32-bit) extrem langsam. Es benötig für jede Zeile zu je 30 Pixeln ca 5 sec. Dies ist wirklich sehr lang, da ich für 300 Zeilen dann sehr lang brauche. Bei einem anderen PC ist das aber nicht so: Er hat Windows XP(32-Bit) und einen Pentium 4 mit 3,00 GHz. Er benötigt für das ganze Bild(diesmal 300*400) nur 20 Sekunden. Der andere Computer hat aber einen Core i5 und der sollte rein theoretisch schneller als ein P4 sein . Also meine frage: Liegt es nun am Betriebssystem, oder an meiner Java-Version(sollte die neueste sein)?. Kann mir das echt nicht erklären.
Hier aber erstmal das Programm. Es funktioniert nur am Anfang dauert es auch ein bisschen. Wäre auch nett wenn ihr es probieren könntet und vll Betriebssystem + Zeit(muss nicht fürs ganze Bild sein) angeben könntet:
Java:
import java.awt.*;
/**
* Beschreiben Sie hier die Klasse Test.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
class CrappyDrawTest extends Frame
{
public static void main(String[] args)
{
CrappyDrawTest t = new CrappyDrawTest();
}
CrappyDrawTest()
{
super("Kleiner Screen");
setLayout(new FlowLayout());
setSize(500,400);
setLocation(200,100);
getMinimumSize();
this.show();
}
public void paint(Graphics g)
{
int x = 1, y = 1;
while(y <= 400)
{
try
{
//Ermitteln der Pixelfarbe
Robot rob = new Robot();
Color clr = rob.getPixelColor(x, y);
System.out.println(y +" " + x + clr);
g.setColor(clr);
}
catch(Exception e)
{
System.out.println(e);
}
//Zeichnen
g.fillRect(x,y, 1, 1);
x++;
if(x > 30)
{
y++;
x=1;
}
}
}
}
mfg Face