Przeprowadzka do Krakowa · Otwarty na role Senior Unity, hybrydowo lub zdalnie · 2 miesiące wypowiedzenia

Przejdź do treści
Krzysztof Pławski
← Wszystkie projekty

Ratowanie starego projektu UE4

Przywrócenie do życia starego, nieudokumentowanego projektu VR w Unreal Engine 4 — buildy z 8 do 1,5 godziny, obciążenie GPU niższe o 60% i płynne 90 kl./s.

Praca dla klienta · opisana ogólnie, bez nazw klientów i materiałów

Wyzwanie

Podczas rocznego stażu w SeedVR przejąłem stary, nieudokumentowany projekt w Unreal Engine 4: asymetryczną aplikację VR do szkolenia dowódców akcji dla straży pożarnej w całej Wielkiej Brytanii. Jedna osoba pracowała na komputerze, a druga nosiła gogle podłączone do PC — najpierw Oculus CV1, potem Oculus Rift S i oryginalny Oculus Quest.

Projekt zaczynał jako projekt studencki, a zadanie polegało na zamianie go w produkt komercyjny, który da się sprzedawać. Jego build trwał 8 godzin.

Moje podejście

  • Czas buildu. Edytor zgłaszał podczas buildu 200–300 błędów. Rozwiązanie każdego z nich skróciło czas buildu.
  • Wydajność. Za pomocą narzędzi wydajnościowych UE4 (nakładek i profilerów) zawęziłem przyczynę słabej wydajności do GPU. Dalsze badanie ujawniło kilka bardzo kosztownych shaderów i część ustawień graficznych, które stały się miejscami do poprawy.

Rezultat

  • Czas buildu spadł z 8 godzin do 1,5 godziny.
  • Projekt działał płynnie w 90 kl./s.
  • Obciążenie GPU spadło o 60%, a jakość grafiki wzrosła.

Podczas tego samego stażu zbudowałem szkoleniową aplikację VR w Unreal Engine 4 / C++ oraz kilka prototypów VR/AR w Unity/C#.

Czego się nauczyłem

Ożywienie starego projektu studenckiego i zamiana go w produkt komercyjny to świetny sposób na wejście w inżynierię oprogramowania. Nic nie dorówna rzuceniu na głęboką wodę.