Einzelnen Beitrag anzeigen

Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#47

AW: schnelstmöglich dividieren?

  Alt 30. Mai 2011, 15:04
Wert ändert sich pro Triangle, nicht voraussehbar da sich umgebung/triangles verändern.

Gerade mal getestet:

bit4bit's methode funktioniert SO:

Delphi-Quellcode:
 Wert2 := Integer((2 shl 12) div Wert);
   Ergebnis := Integer(((A*x + B*Y + C*Z) * Wert2) shr 13);
   Ergebnis2 := Integer(((A*x2 + B*Y2 + C*Z2) * Wert2) shr 13);
   Ergebnis3 := Integer(((A*x3 + B*Y3 + C*Z3) * Wert2) shr 13);[/U]
Dem gegenüüber die 'alte' methode:

Delphi-Quellcode:
   Ergebnis := (A*x + B*Y + C*Z) div Wert;
   Ergebnis2 := (A*x2 + B*Y2 + C*Z2) div Wert;
   Ergebnis3 := (A*x3 + B*Y3 + C*Z3) div Wert;
Wenn ich beides Jeweils 100Millionen mal ausführe (wert2 natürlich nur einmal kalkuliert)
Stellt sich heraus, beides ergibt dasselbe ergebnis, Bit4Bits methode ist aber 4mal SCHNELLER. Seine methode braucht ca 1Sec. Meine 4Sec.
  Mit Zitat antworten Zitat