Pytania otagowane jako multithreading

Wielowątkowość umożliwia istnienie wielu wątków w kontekście pojedynczego procesu współużytkującego te same zasoby, ale mogą one działać niezależnie.

8
Ile wątków powinienem mieć i po co?
Czy powinienem mieć osobne wątki do renderowania i logiki, a nawet więcej? Jestem świadomy ogromnego spadku wydajności spowodowanego synchronizacją danych (nie mówiąc już o jakichkolwiek blokadach mutex). Zastanawiałem się, czy nie podejść do tego ekstremalnie i zrobić nici dla każdego możliwego podsystemu. Ale martwię się, że to też może spowolnić. …



5
Czy aktorzy w grze powinni być odpowiedzialni za losowanie?
Jestem bardzo nowy w tworzeniu gier, ale nie w programowaniu. Gram (ponownie) w grę typu Pong, używając canvaselementu JavaScript . Utworzyłem Paddleobiekt, który ma następujące właściwości ... width height x y colour Mam również Pongobiekt, który ma właściwości takie jak ... width height backgroundColour draw(). draw()Metoda obecnie jest zresetowanie canvasi …

4
Jak nie zamrozić głównego wątku w Unity?
Mam algorytm generowania poziomów, który jest ciężki obliczeniowo. Wywołanie go zawsze powoduje zawieszenie się ekranu gry. Jak mogę umieścić funkcję w drugim wątku, gdy gra nadal wyświetla ekran ładowania, aby wskazać, że gra się nie zawiesiła?


2
Ile wątków powinna używać gra na Androida?
Co najmniej gra OpenGL na Androida ma wątek interfejsu użytkownika i wątek renderujący utworzony przez GLSurfaceView. Renderer.onDrawFrame()powinien wykonywać minimum pracy, aby uzyskać najwyższy FPS. Fizyka, sztuczna inteligencja itp. Nie muszą uruchamiać każdej klatki, więc możemy umieścić je w innym wątku. Teraz mamy: Wątek renderowania - Aktualizuj animacje i rysuj polisy …

7
Wielowątkowe obliczenia grawitacyjne 2D
Buduję grę w eksplorację kosmosu i obecnie rozpocząłem pracę nad grawitacją (w C # z XNA). Grawitacja wciąż wymaga ulepszenia, ale zanim to zrobię, muszę rozwiązać niektóre problemy z wydajnością w moich obliczeniach fizycznych. Wykorzystuje 100 obiektów, zwykle renderując 1000 z nich bez obliczeń fizycznych, osiąga znacznie ponad 300 FPS …

3
Czy to normalne, że gra używa 100% procesora?
Właśnie zaimplementowałem obsługę wielowątkowego wprowadzania danych w silniku gry, w którym kod odpytujący system operacyjny w celu zebrania danych wejściowych i znaczników czasu znajduje się w osobnym wątku, a każda ramka w głównym wątku zjadam zebrane dane wejściowe do logiczny czas gry. Wszystko działa, ale ta konfiguracja zużywa 100% mojego …

3
Wieloplatformowe wielowątkowość: jakie są prawdziwe wyzwania?
Podczas gdy biblioteka taka jak SDL zapewnia wieloplatformowy interfejs API do tworzenia wątków, myślę, że naiwnością byłoby zakładać, że prowadzi to bezpośrednio do łatwego rozwoju gier na bardzo różnych platformach (stacjonarnych / mobilnych). Jaki jest najlepszy sposób radzenia sobie z programowaniem w ten sposób (biorąc pod uwagę dowolny wieloplatformowy interfejs …

6
Struktury danych do interpolacji i wątków?
Ostatnio miałem do czynienia z niektórymi problemami z drganiami dotyczącymi liczby klatek na sekundę w mojej grze i wydaje się, że najlepszym rozwiązaniem byłoby to zaproponowane przez Glenna Fiedlera (Gaffer o grach) w klasycznej wersji Napraw swój timestep! artykuł. Teraz - używam już ustalonego przedziału czasu dla mojej aktualizacji. Problem …

4
Jak sprawić, by przekazywanie wiadomości między wątkami w silniku wielowątkowym było mniej uciążliwe?
Silnik C ++, nad którym obecnie pracuję, jest podzielony na kilka dużych wątków - Generacja (do tworzenia treści proceduralnych), Rozgrywka (do sztucznej inteligencji, skryptów, symulacji), Fizyka i Rendering. Wątki komunikują się ze sobą za pośrednictwem małych obiektów wiadomości, które przechodzą od wątku do wątku. Przed krokiem wątek przetwarza wszystkie przychodzące …


2
Płynny ekran ładowania między scenami
Utworzyłem ekran ładowania, aby wyświetlać animację ładowania podczas ładowania następnej sceny. Następną scenę ładuję asynchronicznie za pomocą: yield return SceneManager.LoadSceneAsync(scene,LoadSceneMode.Additive); I również ustawione Application.backgroundLoadingPriority = ThreadPriority.Low;, ale zachowanie jest nadal takie samo jak zwykłe obciążenie poziomu. Czy coś brakuje? Oczekiwane zachowanie: Wyjdź z poziomu i wycisz. Pojawi się ekran ładowania. …

4
RTS Game AI Thread
Mam projekt stworzenia od podstaw gry strategicznej w czasie rzeczywistym. Wciąż jestem na wczesnym etapie planowania, ale trochę programowałem, żeby zobaczyć mechanikę. Wiem jak programować. Mam również dobry pomysł na to, jak ustrukturyzuję klasy gier i sztuczną inteligencję opartą na regułach (komputer-maszyna) dla gracza komputerowego. Chcę opracować Doktryny, które nadadzą …
14 c#  ai  multithreading 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.