• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Optymalizacja gry.

Object Storage Arubacloud
+1 głos
440 wizyt
pytanie zadane 4 lipca 2018 w OpenGL, Unity przez CodeOwsky Początkujący (290 p.)

Cześć!

Mam pytanie odnośnie Unity. Szukałem trochę w Google i większość odpowiedzi dotyczy usuwania obiektów. Ale po kolei.

Mam sobie taką grę (znaczy grą tego jeszcze nazwać nie można, mimo to będę posługiwał się tym słowem):

IMG

Jak można zauważyć ta mała mapa składa się z kwadratowych segmentów obok siebie. Każdy segment ma w sobie jakieś drzewo, kilka skał, krzaki i trawę, co w sumie wychodzi około 20-25 obiektów na segment. Mapa składa się 9 segmentów więc posiadamy już 225 obiektów (już zaczyna "klatkować"). Mapa będzie składać się z około 60-70 segmentów także coś czuję, że mój komputer nie wyrobi (ze względu na słaby procesor).

Moje pytanie więc brzmi: czy wyłączenie obiektu w ten sposób spowoduje odciążenie procesora? Czy procesor na tak wyłączonym obiekcie dokonuje obliczeń? 

IMG

 

Widziałem również możliwość przerzucenia obowiązków liczenia na GPU przez co gra chodziła bardzo płynnie nawet przy bardzo dużej ilości obiektów co w moim przypadku byłoby zbawieniem.

Jeżeli nie znalazłem czegoś w Google to z góry przepraszam, szanuje Wasz czas, ale mimo wszystko będę wdzięczny za wszelką pomoc!

Pozdrawiam!

2 odpowiedzi

+1 głos
odpowiedź 4 lipca 2018 przez CodeOwsky Początkujący (290 p.)
@refresh
1
komentarz 4 lipca 2018 przez CodeOwsky Początkujący (290 p.)
Nie rozumiem po co to zgłoszenie. W regulaminie nie piszę nic odnośnie odświeżania tematów, także sądzę, że odpowiedzialne stosowanie tego zabiegu nie powinno być karane.
1
komentarz 4 lipca 2018 przez Kodeman Gaduła (4,480 p.)
Odświeżanie tematu godzinę po zadaniu pytania nie jest odpowiedzialnym stosowaniem :D
komentarz 4 lipca 2018 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Moim zdaniem, jeżeli autor pytania tego potrzebuje, to może raz "odświeżyć" pytanie - nie mam nic przeciwko temu, zresztą to nie tylko moje zdanie. W związku z tym zgłoszenie usunąłem. smiley

Problem się zaczyna dopiero wtedy, kiedy ktoś tego zaczyna nadużywać - wtedy jest to zwyczajny spam.

1
komentarz 4 lipca 2018 przez CodeOwsky Początkujący (290 p.)
@Kodeman, czasem zdarza się tak, że musisz rozwiązać problem szybko. Większe prawdopodobieństwo, że ktoś z forum Ci pomoże jest wtedy kiedy twoje pytanie jest dosłownie na pierwszym miejscu na stronie głównej, niż kilka miejsc poniżej. Stąd to odświeżenie.
0 głosów
odpowiedź 4 lipca 2018 przez Arkadiusz Fus Obywatel (1,100 p.)
http://yadda.icm.edu.pl/yadda/element/bwmeta1.element.baztech-b5c90e5b-9bd6-405e-981c-f59611563925/c/siarkowski.pdf

https://mwin.pl/unity3d-quicktip-31-optymalizacja-gry-part-i-skrypty/

Wydaje mi się że masz coś skopane w logice i dlatego Ci nie wydala.

Chociaż na logikę: Masz 225 obiektów przy takiej kanciastej grafice i Ci się zacina ? może jakoś schowaj niektóre obiekty czy coś.
komentarz 4 lipca 2018 przez CodeOwsky Początkujący (290 p.)
Znaczy pytanie zadałem właśnie odnośnie chowania tych obiektów :D Jestem właśnie w trakcie pisania skryptu który wyłącza obiekty gdy nie znajdują się one w obrębie kamery.

Problem klatkowania rozwiązałem po części. Okazało się się przy budowaniu gry do pliku .exe wszystko działa w ponad 100 FPS.

Teraz mam taką myśl. A gdyby tak te segmenty zamiast tworzyć za pomocą kilkunastu obiektów (drzew, krzaków, skał, trawy) od razu modelować w blenderze jako jeden? Co o tym myślisz? Da się ewentualnie zrobić to w miarę szybki i wygodny sposób?
1
komentarz 4 lipca 2018 przez Kodeman Gaduła (4,480 p.)

Tak sobie pomyślałem, jeśli w edytorze też Ci zarywa, to wina nie musi być Twojego komputera. Spróbuj w skrócie do Unity wpisać -force-opengl

komentarz 4 lipca 2018 przez Arkadiusz Fus Obywatel (1,100 p.)

@CodeOwsky, Może to nie wina gry skoro masz 100fps. spróbuj  jak kolega wyżej radzi albo

right clicking on Unity shortcut and selecting Run with graphics processor and selecting my graphics cardd

 albo coś takiego :

  1. Close Unity.

  2. Open the NVIDIA Control Panel

  3. Manage 3D settings (Left hand side navigation)

  4. Program settings (tab)

  5. Select a program to customise -> Choose Unity

  6. "Select the preferred processor for this program:" -> High performance NVIDIA processor.

  7. Apply

  8. Open Unity.

1
komentarz 4 lipca 2018 przez CodeOwsky Początkujący (290 p.)

@Kodeman, dodałem force-opengl, ale niestety nadal w edytorze jest małe klatkowanie, a obiekty ładują się dosyć wolno indecision No cóż. Gra po zbudowaniu do pliku .exe działa normalnie także chyba jakoś przeboleje. Niemniej - dziękuję za poświęcony czas.

@Arkadiusz Fus, wszystkie aplikacje otwieram na lepszej karcie graficznej (o wysokiej wydajności) lecz nic to nie pomaga. Mimo wszystko dziękuje za poświęcony czas.

Według mnie powodem jest właśnie słaby procesor i nie radzenie sobie z tak dużą ilością obiektów. Postanowiłem ''przepiąć" te segmenty zbudowane z 20-25 obiektów na jeden - jednolity (zbuduję to samo tylko w blenderze przez co posłuży to za jeden obiekt). Myślę, że to pomoże.

Pozdrawiam!

 

Podobne pytania

+1 głos
1 odpowiedź 809 wizyt
pytanie zadane 18 marca 2020 w OpenGL, Unity przez Bartek12 Mądrala (5,510 p.)
+2 głosów
2 odpowiedzi 599 wizyt
0 głosów
2 odpowiedzi 564 wizyt
pytanie zadane 20 września 2020 w OpenGL, Unity przez Wiktor Panecki Użytkownik (920 p.)

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...