Skocz do zawartości

Dll - zawsze szybciej?


Cekol

Rekomendowane odpowiedzi

Wpadłem na pomysł zrobienia dll, od obliczeń :)

Dałbym w nim obliczanie kąta, pomiędzy 2 innymi kątami, coś ala point_direction i point_distance i może coś więcej :D

I tu pytanie, czy takie funkcje napisane w dllu by były szybsze od tych wbudowanych w GMie?

Czekam na odp :)

Odnośnik do komentarza
Udostępnij na innych stronach

zalezy od zlozonosci kodu tych funkcji

 

EDIT: domyslam sie ze chodzi o obliczenia 3d ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Ogółem to zależy od jakości i ilości działań, jakie wykonasz. Z tego co czytałem to żzeranie jest następujące:

dodawanie - bardzo mało spowalnia

odejmowanie - mało spowalnia

mnożenie - średnio spowala

dzielenie - dużo spowalnia

funkcje trygonometryczne - bardzo dużo spowalnia

Odnośnik do komentarza
Udostępnij na innych stronach

O co mi chodzi?

Gdy np mamy taki kod:

GML
image_angle+=DirDiv(image_angle, point_direction(x,y,enemy_x,enemy_y) )*0.1
który występuje w 4 miejscach w stepie wroga, których jest z 40 na mapie, może to "z lekka" ciąć.

 

kod DirDiv:

GML
var dif

if(argument1>argument0+180)

{

dif=-((360-argument1)+argument0)

}

else{

if(argument0>argument1+180)

{

dif=((360-argument0)+argument1)

}

else{

dif=argument1-argument0

}

}

return dif

 

I teraz czy by się opłacało takiego dlla użyć?

Odnośnik do komentarza
Udostępnij na innych stronach

wielkiej roznicy to nie powinno robic, ale nawet jesli szybsze dzialanie bedzie malo widoczne, to i tak sie oplaca bo zaoszczedzisz tych kilka fpsow

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

@RaistlinBlackRobe: Ja tylko dodam, że procesor który programuję w szkole - 8051, na dodawanie i odejmowanie potrzebuje 1 cykl, na mnożenie i dzielenie aż 4 cykle :] Ot, już wiesz skąd to się wzięło.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...