SerMSYS Opublikowano 15 Kwietnia 2009 Udostępnij Opublikowano 15 Kwietnia 2009 Spoko, pytam się tylko dlatego aby móc zrestartować wątek który się "zacioł" (jak się używa kilku wątkow naraz to czasem się zdarza :mellow: ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 22 Grudnia 2009 Administratorzy Udostępnij Opublikowano 22 Grudnia 2009 Wyszedł GM8, można liczyć na update ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 22 Grudnia 2009 Udostępnij Opublikowano 22 Grudnia 2009 Gdzieś miałem źródła GMThreads, ale raczej nie ważę się updatować za Snake skoro to jego projekt ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 23 Grudnia 2009 Autor Udostępnij Opublikowano 23 Grudnia 2009 Niedługo zaktualizuję. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 23 Grudnia 2009 Administratorzy Udostępnij Opublikowano 23 Grudnia 2009 Ok, nie spieszy się, ale muszę podjąć decyzję czy przejść na GM8 czy zostać przy GM7 i musiałem zapytać, bo możliwe, że GMThreads mi się przyda. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 29 Grudnia 2009 Autor Udostępnij Opublikowano 29 Grudnia 2009 No dobra, jest aktualizacja! (v2.0): Features: - Wsparcie dla GM8 - Dodano funkcję thread_wait, służącą do oczekiwania na zakończenie wątku - Dodano możliwość sprawdzenia błędu danego wątku - DLL został napisany od nowa w MASMie - Wydano kod źródłowy (na LGPL) Compatibility issues: - Zmiany w nazwach funkcji (thread_priority, thread_affinity_mask, thread_ideal_processor, thread_num_of_processors) - Usunięto funkcje thread_last_error i thread_is_suspended - Teraz po utworzeniu wątku trzeba zamykać jego uchwyt (za pomocą thread_close). Dzięki temu można przechwycić kod błędu wątków (thread_get_error). Miałem dodać obiekty synchronizacyjne by można było lepiej zarządzać wątkami, ale okazało się, że struktura GM-a się w ogóle do tego nie nadaje, tak więc niestety... :F Download: https://gmclan.org/up541_4_GMThreads2.html (9KB) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 29 Grudnia 2009 Udostępnij Opublikowano 29 Grudnia 2009 to znaczy ze GMAPI tez ma juz wsparcie dla GM8? no i zrodelko :D wreszcie pobawie sie watkami z GMem, idac nieco bardziej swoja droga :D EDIT: nie sciagalem jeszcze, ale jak calkowicie w masmie to bede mial nieco duuzo czasu aby to zrozumiec wszystko. tak czy siak, sciagam, sprawdze, zobacze co fajnego to mnie nauczy, dzieki Snake :thumbsup: jak zwykle ulatwiasz zycie :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 29 Grudnia 2009 Autor Udostępnij Opublikowano 29 Grudnia 2009 W GMAPI w tym momencie zajmuję się interfejsami dla particli, kompatybilnością z GM8 zajmę się pod koniec, jak już wszystko co zaplanowane dodam do biblioteki ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 2 Stycznia 2010 Administratorzy Udostępnij Opublikowano 2 Stycznia 2010 Ok, jestem bardziej niż zadowolony z wątków :) Przyspieszyłem ładowanie zasobów do 1 sekundy (dokładnie 1047ms) z ponad 4. Użyłbym też do zmiany stref, ale żeby wątek dobrze działał, trzeba by na chwilę zaprzestać dezaktywacji obiektów i wtedy FPS by spadł, więc wyszło by na jedno... ale pewnie znajdę jeszcze okazje do wykorzystania, nie mniej dla samego przyspieszenia o 75% wczytywania było warto. Potem pewnie jeszcze będzie można grafiki na dwie tury rozdzielić i jeden wątek wczyta 50% drugi 50% i będzie jeszcze szybciej. Wielkie dzięki za tego DLLa :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 7 Stycznia 2010 Autor Udostępnij Opublikowano 7 Stycznia 2010 Pamiętaj tylko, że na prockach single-core ładowanie zasobów w kilku wątkach w tym samym czasie nie będzie wydajniejsze - wręcz przeciwnie, przez przełączanie kontekstu pomiędzy wątkami wydajność wykonywania kodu może być nieco niższa niż gdyby użyć jednego wątku. Najlepszym rozwiązaniem będzie wykorzystanie tylu wątków, ile rdzeni/procesorów jest w systemie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 27 Stycznia 2010 Administratorzy Udostępnij Opublikowano 27 Stycznia 2010 Odkryłem pewnego buga. Gdy tworzymy jakiś wątek, to znak którego używamy do stworzenia kodu ( " lub ' ) nie może występować w skryptach które wywołujemy. Np. GML _thread3 = thread_create("skrypt();", 0 ); GML (skrypt) a = "test"; będzie błędne, musi być 'test'. To pewnie jakiś bug GMa, ale może da się to obejść? Bo niestety dzisiaj godzinę zmarnowałem na szukanie gdzie jest błąd, tymczasem kwestia zamiany " na ' wszystko naprawiła. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 27 Stycznia 2010 Autor Udostępnij Opublikowano 27 Stycznia 2010 Hm, sprawdziłem to i u mnie trybi jak powinno. Jaki błąd Ci wyskoczył? Błąd kompilacji kodu? Czy "błąd 1" wątku zwrócony przez thread_get_error? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 27 Stycznia 2010 Administratorzy Udostępnij Opublikowano 27 Stycznia 2010 Wiesz co, nie udało mi się sprawdzić, bo odpalałem kilka wątków na raz i tylko jeden miał problemy ale wywalało Windowsowy błąd "Wystąpił problem z aplikacją i zostanie ona zamknięta", oraz taki z czerwonym krzyżykiem, którego treści nie pamiętam (ale nie miał oskinowanego okienka w stylu XP, tylko w stylu CMD). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 27 Stycznia 2010 Autor Udostępnij Opublikowano 27 Stycznia 2010 Pewnie to kolejny błąd spowodowany brakiem przystosowania Game Makera do multithreadingu. Niestety, w takim wypadku nic nie mogę zrobić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
micha_i Opublikowano 29 Grudnia 2011 Udostępnij Opublikowano 29 Grudnia 2011 Snake człowieku rządzisz! Normalnie moja mapa (1010 obiektów :rolleyes: ) tworzyła się(generowanie losowe) prawie 5 minut, a z twoją DLL'ką zajęło to pół sekundy!!!!!! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TeoTN Opublikowano 15 Marca 2012 Udostępnij Opublikowano 15 Marca 2012 A co z GM8.1? Bo obecnie mi nie działa :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 15 Marca 2012 Administratorzy Udostępnij Opublikowano 15 Marca 2012 Nie jest kompatybilne i z racji, ze Snake się zapadł pod ziemię, raczej nie będzie :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 15 Marca 2012 Autor Udostępnij Opublikowano 15 Marca 2012 GMThreads już nie będzie uaktualniane z racji że używanie wątków z GM za dużo problemów sprawia. Jak ktoś tak bardzo potrzebuje to może spróbować użyć tego: http://gmc.yoyogames.com/index.php?showtopic=519138 i napisać funkcje w DLL, która wywoła execute_string w wątku. Chociaż nie wiem jak to się będzie sprawować. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TeoTN Opublikowano 18 Marca 2012 Udostępnij Opublikowano 18 Marca 2012 Szkoda, bo jak na moje potrzeby działało wszystko bezproblemowo w poprzednich wersjach GMa, a przydałby się taki mały threading... A nie dałoby się jakoś odblokować tego sprawdzania wersji GM? To dałoby coś? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 19 Marca 2012 Autor Udostępnij Opublikowano 19 Marca 2012 Pominięcie sprawdzania wersji nic nie da, bo GMThreads potrzebuje adresów pewnych funkcji w "runnerze" by mógł w ogóle funkcjonować. A że teraz update'y GM-a wychodzą częściej niż kiedyś to musiałbym wprowadzić automatyczne wyszukiwanie tych adresów, żeby nie aktualizować DLL-a co nową wersję GM. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 19 Marca 2012 Administratorzy Udostępnij Opublikowano 19 Marca 2012 Runner delphi się raczej nie zmienia i nowe ficzery nie będą dodane (np. fizyka, czy nawet wczytywanie ds_map ze stringów i CRC kluczy na nich, które doszły w Studio). A update do GM 8.1 jak widzisz na stronie głównje wyszedł 61 dni temu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 19 Marca 2012 Udostępnij Opublikowano 19 Marca 2012 a co z gmapi? czy udostępniłbyś cos, co pozwoli po prostu na wywoływanie scriptów (tak jak robiłem z callbackami do Ether - podawałem id scriptu, potem w gmapi execute_script i wsio), bo bez tego nie uruchomie SixthSense na gm8, a szkoda :< ewentualnie powiedz co mogę z tym zrobić, a sam postaram się zmodyfikować gmapi pod te potrzeby, byleby możnabyło użyc tego w gm wersji > 7, płosie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 19 Marca 2012 Autor Udostępnij Opublikowano 19 Marca 2012 Nawet jak w kolejnej wersji wprowadzi się chociaż 1 bugfix to większość kodu w runnerze się przemieszcza, więc nie widzi mi się analizowanie wszystkiego co kolejny update :) Co do GMAPI to mam tam już zrobione automatyczne szukanie adresów i kilka ficzerów, ale trochę jeszcze zostało do zrobienia a teraz nie mam czasu by się tym zająć, w dodatku niedługo wyjeżdżam za granice gdzie nie będę miał dostępu do kompa, więc trochę to potrwa zanim jakiś update wydam. Póki co możesz użyć "GMAPI" z linku który podałem wcześniej w temacie, PsichiX. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę