DeltaTime GM

Prosta i skuteczna biblioteka do dokładnego pomiaru czasu pomiędzy klatkami gry.
Przeważnie w ramach optymalizacji potrzeba uniezależnić animację gry od klatek na rzecz różnicy czasu pomiędzy obecną a poprzednią klatką gry, dzięki czemu niezależnie czy gra zacznie działać wolniej, to animacja nadal będzie stała w czasie. Dla uzyskania dużej dokładności pomiaru różnicy czasu został stworzony ten oto DLL.

Autor: PsichiX http://psichix.com

Rozmiar
33 KB
Autor
Ocena
7/10
5 głosów
Komentarze
Komentarze (łącznie 24, wyświetlam 16 - 30):
Tymon (Sob., 18 Wrz. 10, 00:39)
#16

Nie, nie jest najdokładniejsza - poczytaj. :P

Shocker51374 (Sob., 18 Wrz. 10, 09:11)
#17

Poza tym - istnieje już HRT2 - gmc.yoyogames.com/index.php?showtopic=219736

Dawidds (Sob., 18 Wrz. 10, 10:10)
#18

Z tym że Tymon, i current_time i to drugie (date_current_time() czy cuś takiego, funkcja w każdym razie) się do dt za cholerę nie nadają - current_time ma za małą precyzję sam w sobie a to drugie przy 60 (pustych ofc, dla testu) klatkach jedną na ok. sekundę oznaczało około 2,5x dłuższą niż inne - i to tak w miarę regularnie. Przy wyższym niż 60 pojawiają się już zupełnie puste klatki (różnica 0) :)
Przy "prostych" grach tego nie widać, ale gdy to będzie chociażby platformówka, w której gracz się porusza a taką samą całkowitą prędkością w jedną stronę to te nienaturalne przeskoki strasznie gryzą po oczach. No i np. particle, które mają w założeniu trwać np. 3/60 sekundy - jeśli trafi pechowo na tą zawyżoną klatkę to particle zniknie w 1/60 zamiast 3/60.

Z tym, że PsichiX, ubiegli Cie : D

P
PsichiX (Sob., 18 Wrz. 10, 10:14)
#19

kurde, nie wiedzialem o tym HRT2 - ale lipa wyszla :D

Tymon (Sob., 18 Wrz. 10, 13:07)
#20

Dawidds, to co zaoferował nam Pyś wcale nie ma większej dokładności od current_time. :)

P
PsichiX (Sob., 18 Wrz. 10, 13:12)
#21

ale na jakiej podstawie tak mowisz?

Dawidds (Sob., 18 Wrz. 10, 13:14)
#22

Szczerze to nawet tego nie pobrałem, porównywałem do hrt. :)

Dawidds (Sob., 18 Wrz. 10, 13:35)
#23

ds_list_add(list, DTget());
for(i=0; i<ds_list_size(list); i+=1)
{
draw_line(0, i, ds_list_find_value(list, i)*30000, i);
}

Wynik dla 60 klatek:
img638.imageshack.us/.../58779600.png
I dla 999999 (ma trochę zwiększony mnożnik ofc):
img213.imageshack.us/.../48975287.png

Widać jak coraz bardziej zmula rysowanie większej ilości linii :P
Na drugim widać jakieś szumy, ale to raczej wina gma samego w sobie, nawet na takiej liczbie klatek nie widać tworzenia się schodów jak na current_timie (ani nie ma pustych klatek z date_current_time()), więc w sumie git.

Ogólnie to testowanie klatek przez rysowanie linii jest fajne - może nie dokładnie tak, ale dobrym nawykiem jest przedstawianie sobie na wykresiku wydajności różnych części gry - jeden prostokąt=jedna część, i można szybko ogarnąć, która część jak dużo klatki nam zajmuje (wiedzieć gdzie starać się optymalizować), i po tym, jak wykres się "trzęsie" stabilność wszystkich fragmentów, to zwłaszcza do jakiś pathfindingów etc, ogólnie ai.

P
PsichiX (Sob., 18 Wrz. 10, 14:19)
#24

tutaj dla zniwelowania skokow przy rysowaniu najlepiej narysowac to do surfacesa linia za linia, zobrazowanie bedzie bardziej dokladne

Najnowsze wersje GameMakera:

Stabilna
2024.2.0.132 • 2024.2.0.163
wydana 54 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 193 dni temu
Beta
2024.400.0.549 • 2024.400.0.567
wydana  4 dni temu
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
16 użytkowników online na discordzie:
Kysiu, Carl-bot, SuperEnduro, Kowu, LadyLush, chleb, MKP (GEM), MagnusArias, Dyno, Miłosz, LeD, m..., bagno, HappyOrange, l..., Alkapivo
Shoutbox
gnysek (20:44, 11.04.24)
Niektórzy dlatego wybierają GMEdit. Ale ja liczę na Code Editor 2, tylko na razie zbyt zbugowany jest.
Tymon (16:11, 11.04.24)
Stitch dla mnie osobiście jest lepszy bo nie musze kopać się z interfejsem GMa i mogę tylko pisać kod.
Tymon (16:05, 11.04.24)
Yes. Obecny nie jest taki zły, jak zainstalowałem najnowszą stabilną to w porównaniu z tym czego używałem... 10 lat temu...? Wszystko wydaje się lepsze.
gnysek (22:48, 10.04.24)
bscotch/stitch ? Ja czekam na fixy do nowego edytora, bo wszystko wydaje się dziś lepsze od tego obecnego :D
Tymon (19:54, 10.04.24)
Hm, Stitch okazuje się całkiem dobrą alternatywą dla wbudowanego edytora
Wojo (22:16, 08.04.24)
siemano huder myślałem, że zniknąłeś całkiem z gmclanu bo na discordzie cie nie ma :D
I am Lord (00:37, 05.04.24)
O dzięki :D
gnysek (09:58, 02.04.24)
Znalazłem na podstawie jego postów: youtube.com/@Jakim_
I am Lord (20:16, 01.04.24)
Ktoś ogarnia jakie konto miał Jakim na YT?
gnysek (16:07, 29.03.24)
Nowy Edytor kodu jednak po świętach
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?