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/img638/1305/58779600.png
I dla 999999 (ma trochę zwiększony mnożnik ofc):
img213.imageshack.us/img213/7603/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:

LTS
2026.0.0.16 • 2022.0.3.99
wydana 150 dni temu
Beta
2026.100.0.1182 •
2026.100.0.1126
•
 GMRT beta 0.22.4

wydana  3 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
Shoutbox
Borek (16:08, 25.10.26)
Chodzi mi o ten INPUT, jedna linia, ciężko się tutaj pizse :) Ja wiem, że retro, ale trochę QoL nie zaszkodzi :D
gnysek (16:00, 25.10.26)
A co jest nienormalnego? :D Jest takie jak zawsze było, pełne retro ;) Zerknę, w następny weekend planuję lekki update strony. 3 wpisy to nie tragedia, ale jak będzie wiecej AI slopu to pewnie zacznę kasować.
Borek (19:01, 24.10.26)
Kurde, forum zaczyna zalewać gówno z Claude twórców... :/ ale w sumie jakiś ruch jest :D. P.S. gnysek weź ogarnij tu jakieś normalne okno do pisana shoutów, bo to jakaś masakra jest...
gnysek (23:05, 08.10.26)
Były takie próby, widać co z tego wyszło ;)
Kuzyn (17:06, 08.10.26)
może forum musi rozszerzyć działalność mocniej i skupiać ogólnie polski gamedev hihi
S
Sutikku (18:26, 05.10.26)
zapytaj onet zamknęło działalność, wizaz zamknęło działalność, krajobraz nie jest łatwy
Wojo (16:30, 28.09.26)
To świadczy o tym, że gmclan ma jeszcze duży potencjał, ale niestety nie jest on wykorzystywany tak jak należy.
Adriann (12:33, 28.09.26)
No włąśnie kurcze..nic tu się nie dzieje od lat a i tak wchodzę prawie coddziennie :D
Kuzyn (12:04, 19.09.26)
:] :]
gnysek (13:01, 04.09.26)
Dzięki! :D
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?