Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Rekomendowane odpowiedzi

Opublikowano

Co ma liczba wątków do liczby rdzeni ?

A co da ci utworzenie 5 wątków na 2 rdzeniowym procesorze? System będzie musiał przerywać jeden, aby drugi mógł się trochę wykonać i tak w kółko. Nie będzie szybciej niż jak z dwoma.

System co prawda obsługuje też setki innych wątków, ale nie o to teraz chodzi.

 

hmmm nie wiem czy ten twój pomysł jest dobrym pomysłem bo chodzi ci o losowanie skanowanych pixeli tak i jest ich około 1% wszystkich?

W sensie nie porównujemy wszystkich pixeli po kolei z wzorca do czasu aż wszystkie się zgodzą, albo jakiś się nie zgodzi. Ale sprawdzanie ich wyrywkowo.

Losowanie co prawda może spowolnić sprawdzanie, ale można albo losować tylko raz na początku, ale zhardkorować te wartości.

 

Raczej mu chodzi o to żeby ignorować miejsca gdzie jest GUI.

Nie, jak nie jasno się wyraziłem to spróbuje dać jakieś zobrazowanie.
Opublikowano

A co da ci utworzenie 5 wątków na 2 rdzeniowym procesorze? System będzie

musiał przerywać jeden, aby drugi mógł się trochę wykonać i tak w

kółko. Nie będzie szybciej niż jak z dwoma.

 

System co prawda obsługuje też setki innych wątków, ale nie o to teraz chodzi.

 

To nie jest zasada są 2 rdzeniowe procesory z 4 wątkami. Wiec sie pytam co ma to wspólnego.

 

 

W sensie nie porównujemy wszystkich pixeli po kolei z wzorca do czasu aż

wszystkie się zgodzą, albo jakiś się nie zgodzi. Ale sprawdzanie ich

wyrywkowo.

 

Losowanie co prawda może spowolnić sprawdzanie, ale można albo losować tylko raz na początku, ale zhardkorować te wartości.

Nie wiem czy dobrze zrozumiałem ale jeżeli tak,to wcale trafienie modelu nie jest taka prostą rzeczą jeżeli obiekt jest oddalony a rozdzielczość ekranu jest duża.

Opublikowano

To nie jest zasada są 2 rdzeniowe procesory z 4 wątkami

HT działa inaczej niż myślisz.

 

Nie wiem czy dobrze zrozumiałem ale jeżeli tak to wcale trafienie modelu nie jest taka prostą rzeczą jeżeli obiekt jest oddalony a rozdzielczość ekranu jest duża.

Racja, tego nie wziąłem pod uwagę. Dobrze by się sprawiło w sytuacjach gdy wielkość obrazka się nie zmienia. Tak to faktycznie trzeba by było trochę inny algorytm napisać i mogłoby by być trochę za wolne.
Opublikowano

W przypadku stałego rozmiaru obrazka tez nie spisze sie, bo różnica jest znacząca kiedy skanuje 100x100 wykona az 10000 sprawdzeń a w twoim przypadku nie wiadomo czy znajdzie czy nie.

 

 

Znaczy to tyle ze w najgorszym razie w obrazku 100x100 znajdzie pixel na 10000-nym pixelu, a w twoim w najgorszym razie nigdy nie znajdzie bo akurat nie wylosowało.

Opublikowano

Więc ja Ci nie zrobię, ale powiem Ci jak (Nie mam na celu obrażenia nikogo):

1.Ogarnij mózg.

2.Zapasz herbaty.

2.Jeszcze raz ogarnij mózg.

3.Naucz się podstaw jakiegoś języka.

4.Później trochę zaawansowanej techniki "Polimorfizm": tzw - programowanie obiektowe.

5.Ściągnij se Cheat engine czy cuś.

6.Wyciągnij odpowiednie wartości odpowiadające za to coś co celuje w przeciwnika.

7.Napisz program i go użyj

 

Nigdy nie pisałem "hacków", ale takie mam podejrzenia i ja tak bym zaczął.

Opublikowano

Znaczy to tyle ze w najgorszym razie w obrazku 100x100 znajdzie pixel na 10000-nym pixelu, a w twoim w najgorszym razie nigdy nie znajdzie bo akurat nie wylosowało.

nie rozumiesz.

Sprawdza się tak jak ty to robisz dla całego obszaru. Ale zamiast porównywać te 10000 pikseli (bo tam mówiłeś o obrazku 100x100 to przy nim zostańmy), to sprawdzasz tylko niektóre. Lepiej nie umiem wytłumaczyć.

 

@up

4 nie potrzebne, a przy 7 się uśmiałem

Opublikowano

Powiem tyle, jak robiłem skanowanie na jednym wątku to trwało i trwało, jak rozdzieliłem na kilka to prawie bez zacięcia.

Zresztą zawsze można skanować co 5-10 pixeli.

 

@GGG205

Do kogo to?

 

@up

 

pixels[rand()%1280][rand()%1024] w petli kilka razy?

Nie pomagam na PW, od tego macie forum!!!

 

#PHP-things

 

 

08FMpDu.png

 

Opublikowano

pixels[rand()%1280][rand()%1024] w petli kilka razy?

nie

 

Ale dalej losowanie segmentów daje ci w najgorszym razie "nigdy".

bo dalej nie rozumiesz

 

 

OK tłumaczę. (bede pisał bardzo skondensowanym pseudokodem, bo się spieszę)

Mamy obrazek 100x100 i chcemy sprawdzić, czy na ekranie powiedzmy 1024x768 znajduje się coś co do niego pasuje.

Zamiast lecieć przez wszystkie pixele na ekranie (xx, yy) i sprawdzać

for x 0 to 100
  for y 0 to 100
    if pixelNaEkranie[xx][yy] != pixelZeWzorca[x][y] then return false
return true

to zrobic

tablica losoweWspolrzedneWZakresie100x100[100] {...}
for i 0 to 100 
   if pixelNaEkranie[xx][[yy] != pixelZeWzora[tutaj te losowe wspolrzedne] return false
return true

Nadal będzie musiał tyle samo czasu szukać tego lewegoGornego rogu wzorca na ekranie, ale sprawdzenie czy to jest rzeczywiście ten obrazek będzie dużo szybsze, a prawdopodobieństwo trafienia jest wystarczające.

Ogólnie po ostatnich przemyśleniach myślę, że dużo by to nie dało. Trochę spalony pomysł, ale gdzieś może by dało coś więcej takie sprawdzanie.

 

Jeszcze w takiej grze można by szukać od pewnych wpsółrzędnych bliżej środka, przeważnie celownik trzyma się na takim poziomie, że jak ktoś wypadnie zza rogu to jego głowa będzie na poziomie celownika. Można dzięki temu zrobić wyszukiwanie nie od lewego górnego rogu a od środka, liniami, raz jedna wyżej, raz jedna niżej. Taka kolejność jak niżej.

 

55555555555555

33333333333333

11111111111111

22222222222222

44444444444444

 

Na razie zauważyłem, że szybkie pomysły trochę mi nie wychodzą, jak znajdę coś bardziej pewnego to napisze.

 

Powiem tyle, jak robiłem skanowanie na jednym wątku to trwało i trwało, jak rozdzieliłem na kilka to prawie bez zacięcia.

Bo tak, rozdzielenie na wątki na pewno coś da, ale w pewnym momencie może nawet spowolnić skrypt. Dawanie więcej wątków, robiących to samo, niż masz rdzeni nie ma sensu.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...