Geht PointF[] zu xwerte[], ywerte[] schneller?

15/05/2008 - 23:13 von WolfgangH | Report spam
Hallo,
ich habe eine Frage zur Verminderung der Rechenzeit.
Wir verwenden viele Funktionen, die als Übergebe PointF[] haben und viele
andere die als Übergabe float[] haben.
Dazwischen sind immer folgende zeitraubende Kopiervorgànge.
PointF[] pf;
float[] xwerte, ywerte;


for(int i=0;i<pf.Length;i++) //frisst Zeit
{
xwerte[i]=pf.X[i];
ywerte[i]=pf.Y[i];
}
function_xy(xwerte, ywerte, ...);

Frage:
Gibt es da schnellere Varianten àhnlich dem Clone()-Befehl , zumindest in
eine Richtung?

Danke
Wolfgang
 

Lesen sie die antworten

#1 Thomas Scheidegger
16/05/2008 - 00:22 | Warnen spam
Hallo Wolfgang

zeitraubende Kopiervorgànge
PointF[] pf; float[] xwerte, ywerte;
xwerte[i]=pf.X[i]; ywerte[i]=pf.Y[i];




für einfachere Fàlle gàbe es noch
Buffer.BlockCopy
was hier wohl kaum hilft,
da das Memory-Layout nicht übereinstimmt.

Evtl. beschleunigt da C# 'unsafe'
oder halt C++/CLI oder C++ via PInvoke.




Thomas Scheidegger - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/

Ähnliche fragen