Grain of Salt - Speeding up OpenGL (lisp rant) [entries|archive|friends|userinfo]
snauts

[ userinfo | sc userinfo ]
[ archive | journal archive ]

Speeding up OpenGL (lisp rant) [Mar. 25th, 2009|12:05 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
linkpost comment

Comments:
[User Picture]
From:[info]barvins
Date:March 25th, 2009 - 04:16 pm
(Link)
Cik saprotu, visos gadījumos procesoram ir jānolasa no atmiņas konkrētas koordinātas, kurās parādīt trīsstūri. Tikai pirmajā gadījumā ķēdīte ir garāka - vispirms nolasa adresi (pointeri), kurā atrodas koordināta, un tad tikai pašu koordinātu.
Starpība starp lispu un c tad būtu tāda, ka lispā var rantaimā veikt optimizācijas, t.i., iebliezt datus kodā kā konstantes, bet c to var tikai ar rociņām hārdkodēt pirms kompilēšanas.
By the way, dažos gadījumos c kompilators ir spējīgs noņemt "abstrakcijas radīto sarežģītību", t.i., atrullēt ciklus vai aizvākt datu atrašanu caur pointeriem, ja dati ir konstanti.
[User Picture]
From:[info]snauts
Date:March 25th, 2009 - 04:31 pm
(Link)
Tu pareizi saprati, bet kāpēc uzreiz "ar rociņām hārdkodēt", tu jau vari uzrakstīt progu, kas tavu 3D objekta failu pārtaisīs par C sourci, kuru tu pēc tam vari savai progai piekompilēt. BTW Gudri vīri man jau lika nokaunēties, jo šāda fīča ir jau iekš OpenGL 1.1, kur komandas netiek izpildītas, bet gan nokompilētas un sabāztas video kartē, kas ir vēl krutāk.