Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Desmulator,
14. Jun 2012
shufps bringt dir garnichts. Damit kannst du nur die Reihenfolge innerhalb ändern. Aber du musst alle in einer Zeile addieren. Eigentlich müssten alle aus der ersten Zeile in die erste Spalte geschoben werden, alle aus der zweiten Zeile in die zweite Spalte usw. Dann könntest du addieren, aber das ist afaik nicht möglich.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Desmulator,
14. Jun 2012
Nein. Gibt es nicht. Genau da setzte vorhin ja meine Kritik an. Elementare Funktionen sind nicht vorhanden. Es gibt auch keinen wirklich sinnvollen Umweg. Entweder man macht es per Hand mit der FPU oder man sortiert aufwendig irgendwelche einzellnen Singles umher. Ob das SSE 1.0 überhaupt kann weiß ich jedoch nicht.
http://softpixel.com/~cwright/programming/simd/sse.php
Lohnt es sich...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Desmulator,
14. Jun 2012
Also reserviere dein Array + 15 Byte. Prüfe die Adresse, verschiebe den Pointer um addr mod 16 bytes und du hast einen richtigen Speicherbereich.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Desmulator,
14. Jun 2012
Überprüfs doch einfach, lass dir die Adresse von av1 ausgeben und wenn mod 16 != 0 dann ist es nicht aligned
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Desmulator,
14. Jun 2012
Das sind jetzt Wortspielereien, bloß weil es Grafikkarte heißt. Das "Ding" ist dafür ausgelegt, Datenmassen in kurzer Zeit durch zu schleusen und zu verrechnen, warum also diese Möglichkeit nicht nutzen? Ob der Pixelshader, der nur aus historischen Gründen so heißt, jetzt einen Farbwert berechnet oder ein Byte dekodiert, das ist sowohl dem Pixelshader als auch mit egal. Wenn man es so genau...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Desmulator,
14. Jun 2012
Persönliche Meinung & Erfahrung
Was ich jetzt sage, kann mir vielleicht den Kopf kosten, aber naja :-P
SSE 3.0 wurde 2004 auf den Markt gebracht. Wenn du also in kauf nimmst, dass ca. 30% der Anwender dein Programm nicht nutzen können, kannst du SSE 3.0 benutzen.
Ansonsten nutze SSE 1.0, das ist verlässlich auf allen Platformen vorhanden. Jedoch fehlen elementare Funktionen.
Schonmal...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Desmulator,
14. Jun 2012
Jetzt hast du aber was verwechselt. Wir machen das mit den Registern jetzt nochmal ganz von vorne.
Es gibt bei x86-kompatiblen Prozessoren 8 große Register, übernommen vom 8086, damals noch 16-bit.
Vier dieser 8 Register lassen sich unterteilen in den hohen und tiefen Teil, woduch erneut 8 8-Bit Register dargestellt werden.
Jedes dieser Register hat einen speziellen, seine Funktion zugehörigen...