C++ PerformanceCounter liefert mir immer einen anderen Wert zurück

Eigentlich kann man dazu ohne genaue Informationen zu Soft- und Hardware absolut gar nichts zu sagen. Das müsstest du schon (vernünftig) profilen.

Ich denke aber eher, sowas hat was mit der Cache- und Speichereffizienz des Algorithmus zu tun. Ich weiß ja nicht, was du da mit den Bildern machst, aber wenn du da mit steigender Größe mehr/weiter entfernte Pixel liest, dann steigt eben auch die Anzahl der Cache-Misses massiv an.

Auf normalen CPUs hat man solche Probleme in der Regel deutlich eher, sodass auch der Performance-Drop deutlich eher auftritt, oder aber es wird pro Pixel so viel gerechnet, dass die Speicherlatenz einfach keine Rolle spielt.
 
Also bei 40 Megapixel befürchte ich eher ein Mangel an Grafikkartenspeicher. Bei 24Bit pro Pixel sind das immerhin schon 916MB nur für das Eingangsbild. Plus Ausgabebild + evtl. noch ein bisschen Speicher für das normale Monitorbild, wenn die Grafikkarte auch zur Grafikausgabe benutzt wird, kann man da schnell in einen Bereich kommen, bei dem der Speicher nicht mehr reicht, wenn es sich bspw. um eine Grafikkarte mit nur 2GB handelt.
 
Die Rechnung verstehe ich jetzt nicht ganz. 40 Millionen Pixel * 3 Byte = 120MB. Das wäre meine Rechnung ^^

Ich vermute aber auch, dass hier ein weiterer Datenaustausch stattfindet, was sich dementsprechend negativ auf die Laufzeit asuwirkt.
 
Zurück
Oben