|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
xardias JLI Master
Alter: 38 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 02.04.2006, 21:06 Titel: |
|
|
DirectXer hat Folgendes geschrieben: | Christian Rousselle hat Folgendes geschrieben: | Lookuptable bringen heutzutage wenig, sind kompliziert, ungenau und fehleranfällig - würde ich von abraten, außer die Rechner in der Schule sind uralt. Verwende mal SetPixelV() das sollte um einiges schneller sein. |
naja, man könnte auch, speziell für das Sinusproblem, eine Vereinfachung aus der Taylorreihe(auch nicht 100%ig genau, aber für spiele reichts) nehmen(angle muss Bogenmaß sein):
CPP: | sinus = angle-angle*angle*angle*0.16666667f+angle*angle*angle*angle*angle*0.00833333f-angle*angle*angle*angle*angle*angle*angle*0.000198413f; |
Gruß DXer
EDIT: std::sin ist auch seehhr schnell |
Kann sein dass ich mich gerade täusche, aber ich habe denke ich schon oft gelesen dass moderne Prozessoren trigonometische Funktionen schneller berechnen als Fließkomma Multiplikationen.
So gesehen dürfte die Näherung eigentlich noch nichtmal schneller sein.
Ich weiß nicht wie Trigos berechnet werden, aber ich denke die Definition über Reihen werden sie sicher nicht verwenden |
|
Nach oben |
|
|
DirectXer Dark JLI'ler
Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 03.04.2006, 17:11 Titel: |
|
|
xardias hat Folgendes geschrieben: | DirectXer hat Folgendes geschrieben: | Christian Rousselle hat Folgendes geschrieben: | Lookuptable bringen heutzutage wenig, sind kompliziert, ungenau und fehleranfällig - würde ich von abraten, außer die Rechner in der Schule sind uralt. Verwende mal SetPixelV() das sollte um einiges schneller sein. |
naja, man könnte auch, speziell für das Sinusproblem, eine Vereinfachung aus der Taylorreihe(auch nicht 100%ig genau, aber für spiele reichts) nehmen(angle muss Bogenmaß sein):
CPP: | sinus = angle-angle*angle*angle*0.16666667f+angle*angle*angle*angle*angle*0.00833333f-angle*angle*angle*angle*angle*angle*angle*0.000198413f; |
Gruß DXer
EDIT: std::sin ist auch seehhr schnell |
Kann sein dass ich mich gerade täusche, aber ich habe denke ich schon oft gelesen dass moderne Prozessoren trigonometische Funktionen schneller berechnen als Fließkomma Multiplikationen.
So gesehen dürfte die Näherung eigentlich noch nichtmal schneller sein.
Ich weiß nicht wie Trigos berechnet werden, aber ich denke die Definition über Reihen werden sie sicher nicht verwenden |
ist das wirklich so? das ist mir neu... Mir fallen da zusätzlich nur noch die Optimierungen über Assembler ein, aber ich weiß, dass früher die Trigos alle "von Hand", also sehr zeitaufwändig berechnet wurden. Naja, wenn das stimmt was du sagst, kann Jona ja die ganzen behalten; wobei dann natürlich noch das mit den "modernen Prozessoren" kommt, also so einen haben die in der Schule bestimmt net^^
Gruß DXer |
|
Nach oben |
|
|
PeaceKiller JLI Master
Alter: 35 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 03.04.2006, 19:58 Titel: |
|
|
Wenn man seinen Compiler richtig konfiguriert™, sollte er Befehlssatzerweiterung automatisch nutzen. _________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|