SDL 2.0 - SDL_PollEvent w innym wątku niż SDL_CreateWindow

SDL 2.0 - SDL_PollEvent w innym wątku niż SDL_CreateWindow
pylaochos
  • Rejestracja:ponad 13 lat
  • Ostatnio:2 miesiące
  • Lokalizacja:Warszawa
  • Postów:85
0

Hej,

Od jakiegoś czasu grzebie nad silnikiem graficznym.
Wszystkie potrzebne elementy działają, lecz mam jedną zagwozdkę:
Jeżeli umieszczę SDL_PollEvent w innym wątku, niż ten w którym istnieje SDL_CreateWindow, okno SDL-a nie odbiera żadnych komunikatów, jest totalny freeze.
Z tego co czytałem na stacku, SDL_CreateWindow i SDL_PollEvent musi być w tym samym wątku.
W moim wypadku jest to problem, bo po prostu chcę rozdzielić te dwie rzeczy, uniezależnić jak się da: Inicjalizacja silnika, systemu sdl, potem user dodaje swoje obiekty, w tle odpalany jest wątek z renderowaniem a kolejny wątek zbiera komunikaty (np. klawiatura mysz).

Czy istnieją jakieś sztuczki które pozwolą mi tak rozdzielić wszystko?
Czy może nie jest prawdą, że SDL_CreateWindow i SDL_PollEvent?
Niestety nie mogę nigdzie znaleźć odpowiedzi na te, nurtujące mnie pytania.

fasadin
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
2
edytowany 1x, ostatnio: fasadin
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Szczecin
3

Odpowiedź znalazłeś, tylko ona Ci nie pasowała. Obliczeniowo ciężkie rzeczy rób w innym wątku, wyniki przesyłaj do głównego i tyle.


pylaochos
  • Rejestracja:ponad 13 lat
  • Ostatnio:2 miesiące
  • Lokalizacja:Warszawa
  • Postów:85
0

Ok, dzięki.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.