Ta technologia nadal ma sporo ograniczeń (poza tym co wspomniałeś), głównym jest brak wsparcia dla vertex painitngu, który jest dosyć ważny dla większych assetów. Jak tworzysz jakieś miasteczko, to nie dasz każdemu budynkowi unikalnej tekstury, bo szybko zapchasz pamięć nawet przy karcie graficznej z 16GB Vram lub więcej. Vertex painting pozwala na przeskakiwanie pomiędzy kilkoma mniejszymu teksturami za pomocą unikalnej maski, co pozwala ukryć powtarzalność tekstur. Dodatkowo rozmiar plików: tutaj akurat nanite robi świetną robotę, potrafi skompresować mesh high poly do mniejszego rozmiaru niż low poly + normal mapa. Ale znowu jedna normal mapa może zostać użyta dla wielu unikalnych modeli low poly, w przypadku high poly mamy po prostu kilkanaście unikalnych modeli, z których każdy będzie sporo ważył. Co do problemów z LOD, nie wiem jak to wygląda w Red Engine, ale w unrealu jeśli dla każdego sprawdziłeś, czy nie ma widocznych przeskoków, to i tak otrzymywałeś gładkie przejście. Nanite to w sumie takie rozwinięcie tej techniki, ale działa na zupełnie innej zasadzie, tzn pomija CPU (draw calle) i jednostką podstawą nie jest tu jeden obiekt, ale raczej cluster z trójkątów.
Bardzo interesujący materiał. Przyjemnie się ogląda. Mam pytanie gdzie jest najwięcej informacji o unreal enigme chciałbym się go tak od takich podstaw podstaw nauczyć ale nie za bardzo wiem gdzie zacząć.
Zgadza się Na mocnej stacji roboczej Nanite jest nowa technologią przez co nie wspiera starszych sprzętów. Minimum do odpalenia to komputer z DirectX 12 co z miejsca wyklucza sporo komputerów jednak jest całkowicie zrozumiałe według mnie. Z czasem coraz więcej sprzętów będzie się kwalifikować i coraz więcej tytułów będzie wykorzystywać nanite. Coś jak z raytracingiem - spokojna, etapowa adopcja
Witam. Wiem, że to nie miejsce i nie temat, ale na discordzie nie mogę się dobić. Potrzebuję pomocy. Chcę zrobić plane'a koło z siatką UV. Ale... Plane koło musi zawsze wpisywać się w texturę prostokątną, (najlepiej niezaleznie od jej rozmiaru, ale może też być konkretny rozmiar, i pozostać kołem. To co teraz otrzymuję to najczęściej owal, styczny do dłuższych i krótszych boków. A ja potrzebuję koło które będzie centrycznie , i będzie zawsze styczne tylko do krótszych boków, i będzie kołem, które nie deformuje w żaden sposób textury. format docelowy .3ds lub lepiej .x. Pomoże ktoś, może jakiś link podrzuci?
Już na grupkach pisali, ktoś 2 miesiące poświecił żeby przerzucić projekt na ue5 z nanite i lumenem i zchodziło mu do 18 fps bez wiekszego powodu, jak i same bugi ue5
To też zależy co on optymalizował, bo bez szczegółów ciężko stwierdzić. Z mojego doświadczenia mogę powiedzieć że sam Nanite jest mega skokiem wydajnościowym chociaż oczywiście również ma swoje problemy. Jednak patrząc na combo Nanite - Lumen to spadku wydajności zdecydowanie doszukiwał bym się w Lumenie (lub innych ficzerach graficznych takich jak virtual shadowmaps). Lumen jest aktualnie mega ciężki i raczej nie będzie płynnie działał na większości komputerów w rozbudowanych projektach. To coś jak z raytracingiem który teraz jest tak popularny - efekty świetne ale jednak mają swój koszt.
Problem w tym że stara metoda operowała stałymi wartościami modeli i tekstury. W przypadku NANITE procesy są bez wytchnienia przeliczane co przekłada się na obciążenie pamięci operacyjnej GPU wraz z CPU. Można by rzec, że model NANITE w procesie samego grania w gotową grę, inteligentnie optymalizuje model. Jednak sam proces twórczy to nie lada wysiłek dla sprzętu z uwagi na to ile "waży" surowy model NANITE. W warunkach domowych, można zrobić jedynie krótką prezentację i nie ma co marzyć o zrobieniu np. GTA5. Ma to o tyle swój plus, że można zaznajomić się z magią tworzenia gier i jej zasadami. A tym najważniejszym "silnikiem" do zrobienia wymarzonego projektu, jest własna motywacja i umiejętność budowania zespołu odpowiednich ludzi. Dla tego ja już dałem sobie spokój bo nie mam tych zacnych cech. Mimo to nie uważam że kilka lat siedzenia w tym, poszło na marne.
Siatki nanitowe też trzeba optymalizować tworząc HLOD-y. Wydajność traw i drzew w nanite jest gorsza od starszych technik optymalizacyjnych. Obiekty nanitowe też tworzą różne artefakty graficzne które gracz widzi na ekranie. Na starych komputerach bez obsługi DirectX 12 lub Shader Model 6 nanite nie zadziała.
No akurat Nanite + roślinność z animacjami = ogromny ghosting przynajmniej na drzewach quixela. więc dalej jest to bezużyteczne chyba że ktoś robi statyczną scene.
Juz pisalem nie raz, ale powtórzę się haha Dalej ubolewam nad tym, że unity zostaję w plecy, kiedy UE pędzi do przodu na maxa Swoją przygodę zaczęcia tworzenia gier rozpocząłem już dobry rok temu i zacząłem od unreala, lecz nie podobalo mi się, że tak naprawdę pusto wybudowany projekt mógł uciągnąć u mnie zaledwie 60 klatek na sekundę, kiedy to unity radzi sobie znacznie lepiej. Nauczyłem się w unity już pełno rzeczy, ostatnio udało mi się stworzyć perfekcyjnie działający system ekwipunku jaki możemy zobaczyć w grze Raft, i smutno by było mi teraz wracać do UE po tylu nauki unity ;) Mam nadzieję, że unity też coś pójdzie w tą stronę
Też bym chciał żeby Unity pokazało coś co mogłoby przyciągnąć nowe osoby i rozruszało to community. Niedawno mieli konferencje Unite na której zapowiedzieli parę ciekawych rzeczy więc mocno trzymam kciuki żeby wprowadzili je w życie w tym roku - wtedy będzie o czym mówić w kontekście unity A co do nauki to oczywiście zależy jaki masz w tym celu ale ja tam lubię odpalać nowe programy i uczyć się ich od początku. Nawet sprawia mi to większą przyjemność niż pracowanie tylko na jednym programie żeby osiągnąć w nim mistrzostwo ale oczywiście to zależy od człowieka i jego celu 😅
@@PL_Tutors tak przyznając się też, od bardzo dawna moim marzeniem było stworzenie gry survivalowej aka. The forest czy Raft właśnie, lecz (jak zapewne każdy inny typ gry też) jest to trudne choćby ze względu na inventory, czy AI - w unrealu zrobienia inventory było dla mnie istnym koszmarem - nawet jak juz robiłem 1:1 z gotowca, bo już nie mialem na to siły. W Unity poszło mi to genialnie. Jesy to też jeden z wielu aspektów, te FPSy o których pisalem wcześniej też... i się nazbierało, że rzuciłem unreala. Oprócz tego też uczę się blendera (na bardzo podstawowy poziom) więc zmiana programu znów zajęła by mi wiele czasu. Dlatego liczę na Unity, że zrobi cos fajnego, aby Unity moglo dogonić unreala, gdyż tak naprawdę mimo wszystko uważam ze Unreal jest lepszy od Unity 🤣
Unity w tyle? Każda mobilka na nim jest robiona. te silniki już od kilku lat dzielą się na całkiem różne zastosowania i nawet osoby zarządzające nimi na konferencjach promują całkowicie odmienne kierunki gdzie Unity jest do gier i mobilek a UE5 jest do wysokowydajnych i wielkoskalowych projektów nawet nie gier bo ich jest bardzo mało ale symulacji, VFX i filmów.
W sumie ciężko stwierdzić co jest "lepsze". Unity na pewno rozwala Unreala jeżeli chodzi o gry z grafiką 2D więc tutaj przewaga jest po stronie Unity. Jak to zwykle w świecie komputerów bywa - odpowiedzią jest "to zależy" 😅 Osobiście za to preferuje Unreala ale zaczynałem z Unity bo wtedy UE był dla mnie całkowicie niezrozumiały
Tak, przeszłość, teraz wiecie dlaczego do gry potrzebujecie kart za 7000 zł 😜 Ja jestem producentem modeli 3D na sprzedaż, utrzymuje się z tego od wielu lat i powiem wam, że Unreal Engine 5 to jest dla nas zbawienie, bo w nosie mamy optymalizację, jakość modeli i ogólnie techniczna jakość naszego towaru spadła drastycznie. Unreal Engine 5 przerzuca to wszystko na konsumenta, to wy wydajecie więcej pieniędzy, dlatego że nam się nie chce, rozumiecie o co mi chodzi? To nie jest żadna pozytywna rewolucja, ten Engine jest dla nas, twórców, żebyśmy łatwiej tworzyli hurtem, a nie wy, gracze, mieli z tego profit. Nano to nie jest coś, co optymalizuje grę, ale proces produkcji. Dla konsumenta to nic dobrego.
Cześć. Chcę rozbudować ram z 8GB do 32GB . After Effects pompuje mi do 98% RAM ;-) Płyta główna: MSI B85 G-43, CPU: Intel(R) Core(TM) i5-4440 CPU @ 3.10GHz. Mam na oku taką pamięć: DDR3 RAM Gigastone Desktop RAM 32GB (4x8GB) DDR3 32GB DDR3-1600MHz PC3-12800 CL11 1.5V 240 Pin Unbuffered Non ECC UDIMM for PC Computer Desktop Memory Module (Desktop ONLY) Albo jaką polecacie
Jak napchasz efektów i dasz limit na 32GB to i tak AE zapcha pamięć bo zamiast z dysku to wepcha wszystko do pamięci [żeby było szybciej] więc zawsze będzie za mało im większy projekt to będzie.
@@Andrzej_Misiura nie ma znaczenie jakie bo jedyne co ma znaczenie to taktowanie [maksymalne jakie się da dla tego CPU] i ilość. bo to i tak DDR3 to tanio i ma swoje ograniczenia nie do przeskoczenia.
Niby tak jednak w dalszym ciągu można sporo wyczarować sprytnymi trikami graficznymi które są tanie a wyglądem zbliżają się do zdecydowanie droższych rozwiązań
@@PL_Tutors Wiem, ale wręcz cudowne bicie barier nie do przejścia jak GTA5 na Xbox 360 lub DOOM Eternal na 1 rdzeniu/wątku. Takie cuda już się nie powtórzą.
niekoniecznie, nanite odnosi sie tylko do geometrii i to tej jak na razie statycznej, całą resztę nadal trzeba umieć optymalizować, szczególnie właśnie w UE5, który ma problemy z optymalizacją, choć ciągle ją poprawiają
Bardzo fajny film i format :) Trzymam kciuki!
Dla mnie na plus ten nowy sposób nagrywania. Ta "wstawka" ciebie ciekawie sie prezentuje.
Ta technologia nadal ma sporo ograniczeń (poza tym co wspomniałeś), głównym jest brak wsparcia dla vertex painitngu, który jest dosyć ważny dla większych assetów. Jak tworzysz jakieś miasteczko, to nie dasz każdemu budynkowi unikalnej tekstury, bo szybko zapchasz pamięć nawet przy karcie graficznej z 16GB Vram lub więcej. Vertex painting pozwala na przeskakiwanie pomiędzy kilkoma mniejszymu teksturami za pomocą unikalnej maski, co pozwala ukryć powtarzalność tekstur.
Dodatkowo rozmiar plików: tutaj akurat nanite robi świetną robotę, potrafi skompresować mesh high poly do mniejszego rozmiaru niż low poly + normal mapa. Ale znowu jedna normal mapa może zostać użyta dla wielu unikalnych modeli low poly, w przypadku high poly mamy po prostu kilkanaście unikalnych modeli, z których każdy będzie sporo ważył.
Co do problemów z LOD, nie wiem jak to wygląda w Red Engine, ale w unrealu jeśli dla każdego sprawdziłeś, czy nie ma widocznych przeskoków, to i tak otrzymywałeś gładkie przejście. Nanite to w sumie takie rozwinięcie tej techniki, ale działa na zupełnie innej zasadzie, tzn pomija CPU (draw calle) i jednostką podstawą nie jest tu jeden obiekt, ale raczej cluster z trójkątów.
No dumny jestem ❤ powodzenia mordo 😄
Zrobiłbyś odcinek z blendera w którym tłumaczysz jak zrobić vfx?
Jak zawsze super przedstawiona dawka interesujących informacji.
Bardzo interesujący materiał. Przyjemnie się ogląda.
Mam pytanie gdzie jest najwięcej informacji o unreal enigme chciałbym się go tak od takich podstaw podstaw nauczyć ale nie za bardzo wiem gdzie zacząć.
Fajny kanał, ciekawy content i realizacja. Pozdro
5:30 - "Płynność gry została zachowana" - Ale na jakim komputerze? Na mocnej stacji roboczej?
Zgadza się
Na mocnej stacji roboczej
Nanite jest nowa technologią przez co nie wspiera starszych sprzętów. Minimum do odpalenia to komputer z DirectX 12 co z miejsca wyklucza sporo komputerów jednak jest całkowicie zrozumiałe według mnie. Z czasem coraz więcej sprzętów będzie się kwalifikować i coraz więcej tytułów będzie wykorzystywać nanite.
Coś jak z raytracingiem - spokojna, etapowa adopcja
Kocham ten format
filmik super ale mam pytanko czy mógłbyś nagrać żeby zrobić postać w blederze
juz zrobil - ruclips.net/video/jOBGsMJ-aJ8/видео.html
czy podejmiesz temat szukania pracy w gamedevie poza stroną skillshot? jak nie dać się wyrolować jak się rozliczać z zarobków itd?
pracuje juz trochę czasu na UE 5 i optymalizacja jednak jest bardzo ważna . Chyba ze kierujesz swój produkt do posiadaczy RTX 3080 lub RTX 4080.
Ciekawy jestem jak gęstą siatkę będą mieć modele gdy nanite będzie działać na wszystkim
Zrobiłbyś może filmik o kompie i np kilku propozycjach laptopów do unreal engine 5?
To jest mega dobry pomysł!
Dzięki!
Witam. Wiem, że to nie miejsce i nie temat, ale na discordzie nie mogę się dobić. Potrzebuję pomocy. Chcę zrobić plane'a koło z siatką UV. Ale... Plane koło musi zawsze wpisywać się w texturę prostokątną, (najlepiej niezaleznie od jej rozmiaru, ale może też być konkretny rozmiar, i pozostać kołem. To co teraz otrzymuję to najczęściej owal, styczny do dłuższych i krótszych boków. A ja potrzebuję koło które będzie centrycznie , i będzie zawsze styczne tylko do krótszych boków, i będzie kołem, które nie deformuje w żaden sposób textury. format docelowy .3ds lub lepiej .x. Pomoże ktoś, może jakiś link podrzuci?
siema szukam Level artist / environment artist do swojego projektu
Już na grupkach pisali, ktoś 2 miesiące poświecił żeby przerzucić projekt na ue5 z nanite i lumenem i zchodziło mu do 18 fps bez wiekszego powodu, jak i same bugi ue5
To też zależy co on optymalizował, bo bez szczegółów ciężko stwierdzić.
Z mojego doświadczenia mogę powiedzieć że sam Nanite jest mega skokiem wydajnościowym chociaż oczywiście również ma swoje problemy.
Jednak patrząc na combo Nanite - Lumen to spadku wydajności zdecydowanie doszukiwał bym się w Lumenie (lub innych ficzerach graficznych takich jak virtual shadowmaps). Lumen jest aktualnie mega ciężki i raczej nie będzie płynnie działał na większości komputerów w rozbudowanych projektach. To coś jak z raytracingiem który teraz jest tak popularny - efekty świetne ale jednak mają swój koszt.
Problem w tym że stara metoda operowała stałymi wartościami modeli i tekstury. W przypadku NANITE procesy są bez wytchnienia przeliczane co przekłada się na obciążenie pamięci operacyjnej GPU wraz z CPU. Można by rzec, że model NANITE w procesie samego grania w gotową grę, inteligentnie optymalizuje model. Jednak sam proces twórczy to nie lada wysiłek dla sprzętu z uwagi na to ile "waży" surowy model NANITE. W warunkach domowych, można zrobić jedynie krótką prezentację i nie ma co marzyć o zrobieniu np. GTA5.
Ma to o tyle swój plus, że można zaznajomić się z magią tworzenia gier i jej zasadami. A tym najważniejszym "silnikiem" do zrobienia wymarzonego projektu, jest własna motywacja i umiejętność budowania zespołu odpowiednich ludzi. Dla tego ja już dałem sobie spokój bo nie mam tych zacnych cech. Mimo to nie uważam że kilka lat siedzenia w tym, poszło na marne.
Z tego co wiem, dane są tutaj przesyłane prosto z dysku do GPU, co nie zmienia faktu że nadal "pre-computed" LOD dawało lepszą wydajność.
Siatki nanitowe też trzeba optymalizować tworząc HLOD-y. Wydajność traw i drzew w nanite jest gorsza od starszych technik optymalizacyjnych. Obiekty nanitowe też tworzą różne artefakty graficzne które gracz widzi na ekranie. Na starych komputerach bez obsługi DirectX 12 lub Shader Model 6 nanite nie zadziała.
No akurat Nanite + roślinność z animacjami = ogromny ghosting przynajmniej na drzewach quixela. więc dalej jest to bezużyteczne chyba że ktoś robi statyczną scene.
Dodałem nanite do swojego projektu i to jest przepaść pod względem jakości i optymalizacji :)
Juz pisalem nie raz, ale powtórzę się haha
Dalej ubolewam nad tym, że unity zostaję w plecy, kiedy UE pędzi do przodu na maxa
Swoją przygodę zaczęcia tworzenia gier rozpocząłem już dobry rok temu i zacząłem od unreala, lecz nie podobalo mi się, że tak naprawdę pusto wybudowany projekt mógł uciągnąć u mnie zaledwie 60 klatek na sekundę, kiedy to unity radzi sobie znacznie lepiej. Nauczyłem się w unity już pełno rzeczy, ostatnio udało mi się stworzyć perfekcyjnie działający system ekwipunku jaki możemy zobaczyć w grze Raft, i smutno by było mi teraz wracać do UE po tylu nauki unity ;)
Mam nadzieję, że unity też coś pójdzie w tą stronę
Też bym chciał żeby Unity pokazało coś co mogłoby przyciągnąć nowe osoby i rozruszało to community. Niedawno mieli konferencje Unite na której zapowiedzieli parę ciekawych rzeczy więc mocno trzymam kciuki żeby wprowadzili je w życie w tym roku - wtedy będzie o czym mówić w kontekście unity
A co do nauki to oczywiście zależy jaki masz w tym celu ale ja tam lubię odpalać nowe programy i uczyć się ich od początku. Nawet sprawia mi to większą przyjemność niż pracowanie tylko na jednym programie żeby osiągnąć w nim mistrzostwo ale oczywiście to zależy od człowieka i jego celu 😅
@@PL_Tutors tak przyznając się też, od bardzo dawna moim marzeniem było stworzenie gry survivalowej aka. The forest czy Raft właśnie, lecz (jak zapewne każdy inny typ gry też) jest to trudne choćby ze względu na inventory, czy AI - w unrealu zrobienia inventory było dla mnie istnym koszmarem - nawet jak juz robiłem 1:1 z gotowca, bo już nie mialem na to siły. W Unity poszło mi to genialnie. Jesy to też jeden z wielu aspektów, te FPSy o których pisalem wcześniej też... i się nazbierało, że rzuciłem unreala.
Oprócz tego też uczę się blendera (na bardzo podstawowy poziom) więc zmiana programu znów zajęła by mi wiele czasu.
Dlatego liczę na Unity, że zrobi cos fajnego, aby Unity moglo dogonić unreala, gdyż tak naprawdę mimo wszystko uważam ze Unreal jest lepszy od Unity 🤣
Unity w tyle? Każda mobilka na nim jest robiona. te silniki już od kilku lat dzielą się na całkiem różne zastosowania i nawet osoby zarządzające nimi na konferencjach promują całkowicie odmienne kierunki gdzie Unity jest do gier i mobilek a UE5 jest do wysokowydajnych i wielkoskalowych projektów nawet nie gier bo ich jest bardzo mało ale symulacji, VFX i filmów.
W sumie ciężko stwierdzić co jest "lepsze". Unity na pewno rozwala Unreala jeżeli chodzi o gry z grafiką 2D więc tutaj przewaga jest po stronie Unity.
Jak to zwykle w świecie komputerów bywa - odpowiedzią jest "to zależy" 😅
Osobiście za to preferuje Unreala ale zaczynałem z Unity bo wtedy UE był dla mnie całkowicie niezrozumiały
@mich3l3k41 tak offtopic kojarzysz mi się z jednym serwerem minecraft. Byłeś adminem.
Ooo, nowy poziom nagrywania :)
A no!
Jak wrażenia?
Na plus czy raczej na minus?
@@PL_Tutors giga plus
@@PL_Tutors no duży plus, oczywiście czekam na kolejne odcinki tego typu i też różne tutki.
PL Tutors to ziomal
Joł! (chyba tak robią ziomale)
Działa to też w unity bądź ma to swój odpowiednik ?
Nie, niestety aktualnie Unity nie ma odpowiednika Nanite
Fajnie 😁💪❤️
Zawsze chciałem zagrać w wiedźmina na ziemniaku 😂
To uczucie jak nagle widzisz lektora...
ooooooooooo ale kozak
Tak, przeszłość, teraz wiecie dlaczego do gry potrzebujecie kart za 7000 zł 😜 Ja jestem producentem modeli 3D na sprzedaż, utrzymuje się z tego od wielu lat i powiem wam, że Unreal Engine 5 to jest dla nas zbawienie, bo w nosie mamy optymalizację, jakość modeli i ogólnie techniczna jakość naszego towaru spadła drastycznie. Unreal Engine 5 przerzuca to wszystko na konsumenta, to wy wydajecie więcej pieniędzy, dlatego że nam się nie chce, rozumiecie o co mi chodzi? To nie jest żadna pozytywna rewolucja, ten Engine jest dla nas, twórców, żebyśmy łatwiej tworzyli hurtem, a nie wy, gracze, mieli z tego profit. Nano to nie jest coś, co optymalizuje grę, ale proces produkcji. Dla konsumenta to nic dobrego.
Cześć.
Chcę rozbudować ram z 8GB do 32GB . After Effects pompuje mi do 98% RAM ;-)
Płyta główna: MSI B85 G-43,
CPU: Intel(R) Core(TM) i5-4440 CPU @ 3.10GHz.
Mam na oku taką pamięć:
DDR3 RAM Gigastone Desktop RAM 32GB (4x8GB) DDR3 32GB DDR3-1600MHz PC3-12800 CL11 1.5V 240 Pin Unbuffered Non ECC UDIMM for PC Computer Desktop Memory Module (Desktop ONLY)
Albo jaką polecacie
Jak napchasz efektów i dasz limit na 32GB to i tak AE zapcha pamięć bo zamiast z dysku to wepcha wszystko do pamięci [żeby było szybciej] więc zawsze będzie za mało im większy projekt to będzie.
@@pgsimulation4211 No to oczywiste ale lepiej w RAMie niż na dysku bo wtedy szybciej. Czyli pytanie pozostaje i tak bez odpowiedzi.
@@Andrzej_Misiura nie ma znaczenie jakie bo jedyne co ma znaczenie to taktowanie [maksymalne jakie się da dla tego CPU] i ilość. bo to i tak DDR3 to tanio i ma swoje ograniczenia nie do przeskoczenia.
Fortnite jest jedyną grą jaka mi nie działa stabilnie na i5 8600K RX 6600 16GB, a jest od Epic. Jak tam jest native to słabo
Nanait bedzie w wiedźminie chyba, że MWO (Mohery Wiecznego Ognia) wyjdą na ulice protestować
Era mistrzów optymalizacji się skończyła. Szkoda.
Niby tak jednak w dalszym ciągu można sporo wyczarować sprytnymi trikami graficznymi które są tanie a wyglądem zbliżają się do zdecydowanie droższych rozwiązań
@@PL_Tutors Wiem, ale wręcz cudowne bicie barier nie do przejścia jak GTA5 na Xbox 360 lub DOOM Eternal na 1 rdzeniu/wątku. Takie cuda już się nie powtórzą.
niekoniecznie, nanite odnosi sie tylko do geometrii i to tej jak na razie statycznej, całą resztę nadal trzeba umieć optymalizować, szczególnie właśnie w UE5, który ma problemy z optymalizacją, choć ciągle ją poprawiają