Tak jak w temacie dlaczego Rust jest gorszy od C++ w GameDevie? Czy naprawdę Rust 1.80 jest wolniejszy o 30% od C++? Macie jakiś rzetelny benchmark?
https://www.reddit.com/r/Zig/comments/1cf3dj9/leaving_rust_gamedev_after_3_years/
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/rust-gpp.html
https://www.reddit.com/r/rust/comments/1cdqdsi/lessons_learned_after_3_years_of_fulltime_rust/
https://www.reddit.com/r/rust_gamedev/comments/17qr30r/where_do_you_guys_think_rust_gamedev_will_be_in/
https://www.reddit.com/r/rust_gamedev/comments/107lmra/is_it_a_good_idea_to_start_learning_game/
- Rejestracja:8 miesięcy
- Ostatnio:8 miesięcy
- Postów:7


- Rejestracja:prawie 22 lata
- Ostatnio:8 minut
- Postów:6628
- Rejestracja:ponad 2 lata
- Ostatnio:około godziny
- Postów:48
@Programator_: Według mnie może chodzić o dostępność bibliotek. Większość rozwiązań jest oparta na C++. Ten język jest dość mocno zakorzeniony w branży i minie mnóstwo czasu zanim zostanie zastąpiony przez coś innego. Poza tym korzyści jakie wynikają z zastosowania Rusta nie będą niwelować problemu z tworzeniem wielu rzeczy od nowa. Po prostu C++ jest sprawdzony i posiada wiele sprawdzonych rozwiązań, zaś użycie Rusta może być ryzykowne i kosztowne. Warto również dodać, że Rust jest znacznie mniej popularny od C++ i znacznie ciężej znaleźć programistów znających go. Dla większości producentów jest po prostu nieopłacalny.
Rust sam w sobie nie jest gorszy od C++, ale C++ jest bardziej popularny oraz jest wiele sprawdzonych technologii opartych na nim.

- Rejestracja:ponad 15 lat
- Ostatnio:około 8 godzin
Uuuu, przez sugerowanie, że rust się do czegoś nie nadaje narażasz się na gniew rusto seksualnych wyznawów z reddita.
Czy naprawdę Rust 1.80 jest wolniejszy o 30% od C++?
W uśrednionych zastosowaniach ogólnych - nie. I rust i C++ możesz wyskalować by osiągnąć taki perf jaki potrzebujesz. Czasem koszt czasowy osiągnięcia pożądanej wydajności jest korzystniejszy dla C++ bo przez wiele lat dorobił się bibliotek, które przyspieszają sprawę, no i zawsze możesz sobie zejść do C.

- Rejestracja:około 11 lat
- Ostatnio:2 minuty
- Postów:8401
Jest taka strona, gdzie są linki do bibliotek GameDev w Rust:
https://arewegameyet.rs/
choć nie wiem, na ile aktualna.
Według mnie może chodzić o dostępność bibliotek.
Myślę, że pod kątem samej dynamiki ekosystemu, to Rust to taki trochę jak JavaScript sprzed dziesięciu lat (porównuję dynamikę ekosystemu, a nie technologię!).
Ekosystem JS teraz się już ustabilizował mniej więcej, ale w JS też kiedyś wymyślali różne rzeczy, a potem wychodziły z mody i ciągle zostawały zastępowane. I nie było jednego standardu, a jak był, to był toporny (teraz w Rust zdaje się Bevy jest popularny, próbowałem coś w tym robić, ale dla mnie to strasznie ciężkie jest. Masę zależności, żeby zrobić HelloWorld).
A w Rust nawet jak jest modna biblioteka do gier/grafiki, to za kilka lat przestaje być modna/utrzymywana.
Dlaczego Rust nie nadaje się do GameDev?
Jak jesteś indie hobbystą, to wszystko się nadaje do GameDev, w czym ci się wygodnie pisze (chociaż Rust ma duży próg wejścia).

- Rejestracja:około 6 lat
- Ostatnio:dzień
Spine napisał(a):
@Programator_: Rust nadał się do wskrzeszenia Gamedevu :] https://ruffle.rs/
nic wielkiego bo dawno jest coś takiego w javascript / typescript:
https://awayfl.org/
https://swf2js.com/en/
awayfl działa jakby płynniej i wygląda jakoś lepiej - jakby ruffle nie miało wygładzania krawędzi (testowałem side to side na pobranych z https://ruffle.rs/demo animacjach).
Zużycie procesora identyczne, zużycie pamięci 2x mniejsze na korzyść rusta - ruffle 115MB, awayfl 230MB
Programator_ napisał(a):
Czy naprawdę Rust 1.80 jest wolniejszy o 30% od C++? Macie jakiś rzetelny benchmark?
Wątpię, natomiast czy ma to jakiekolwiek znaczenie? Poza jakimiś symulacjami i może grami AAA gdzie wykorzystuje się możliwości sprzętu do końca to może ma ale większość gier ma minimalne zużycie CPU i większość się dzieje na GPU.
Pamiętam kilkadziesiąt lat temu jak się bawiłem w pascalu na komputerze z procesorem 16MHz który spokojnie płynnie ogarniał na ekranie 10000 jednostek (kropek) z jakąś tam prostą logiką.

- Rejestracja:ponad 15 lat
- Ostatnio:około 8 godzin
ale większość gier ma minimalne zużycie CPU i większość się dzieje na GPU
Jeśli mówimy o high endowych gierkach AAA to zużycie CPU jak najbardziej ma znaczenie i UE jest właśnie krytykowany przez fakt, że nie potrafi w pełni wykorzystać obecnej technologii przez co łatwo nadziać się na czkawki w postaci spadków FPS albo brakujących klatek. Był to jeden z tematów gdy CDPR ogłosił że przechodzi na UE, bo ichniejszy RedEngine w Cyberpunk fantastycznie potrafił wykorzystać CPU i nie zamierzają wykorzystywać UE bez własnych modyfikacji właśnie z tego powodu.
ps. Screenshot z cyberpunku pokazujący jak że potrafi działać płynnie gdy ma dostepne tylko intelowe e-cores.
https://x.com/CapFrameX/status/1705949917976445181






jit, akurat w wielu językach jak python robi tak, że pierwsze uruchomienie tworzy wersję na dysku skompilowanej wersji, czyli następne uruchomienie ma podręką
- python jedyne co robi to tłumaczy kod źródłowy na ichniejszy bajtkod. to jest porównywalne z kompilacją plików .java do .class, czyli nie jest to jeszcze kompilacja do kodu natywnego. te techniki co podałem wcześniej (czyli kompilacja jit, tiered compilation on stack replacement) to techniki wykorzystywane do generowania coraz lepszego kodu natywnego (tzn. coś a'la na początku -O0, a na końcu -O3).

miałem na myśli numbe i jaxa
- aa dobra, no faktycznie są biblioteki do pythona generujące natywny kod. tak czy siak, z tym jitem to chodziło mi głównie o tiered compilation, a więc przy pierwszym uruchomieniu shadera jest on kompilowany bardzo szybko (to minimalizuje przestoje przy pierwszym uruchomieniu), ale do mało wydajnego kodu, a potem jest odpalany i jednocześnie (równolegle do wykonywania shadera) kompilowany z lepszymi optymalizacjami, a potem mniej zoptymalizowany shader jest wyrzucany i zastępowany lepiej zoptymalizowanym. myślę, że to byłoby kiedyś wykonalne.


problem z unreal engine 5 jest też taki, że wykorzystuje pierdylion różnych shaderów
Nie tylko. Jeśli wierzyć komentarzom na YT to CDPR zamierza całkowicie zrezygnować z domyślnego streamingu danych, które w UE nazywają WorldPartition, który zawiera takie systemy jak LOD i temu podobne. Z innych, podobno system aktorów również jest nie wydajny przy większych projektach.

- Rejestracja:prawie 6 lat
- Ostatnio:około 6 godzin
- Postów:131
Popatrzcie też pod kątem ludzi, bo to raczej ważne. Prowadzicie firmę, zatrudniacie od lat wielu specjalistów. Wchodzi boom, rzucamy c++ na rzecz rusta, bo jest szybszy.
- Programiści żeby się przestawić będą potrzebować z roku. Żeby wyspecjalizować w niuansach kolejnych paru lat.
- Zatrudnić nowych, rustowych? To też problem. W gd rozwiązuje się specyficzne zagadnienia, czy to graficzne czy algorytmiczne.
- Zrobić stop na rok? Raczej mało kogo na to stać.
Nawet łatwiejszy a trudny przypadek - piszę w c# więc mogę wskoczyć na hop do backendu stronek? No nie - nie znam się na bazach, zabezpieczeniach sieciowych, dockerach itd.

Programiści żeby się przestawić będą potrzebować z roku
- to jest jeden z powodów, dla którego nowe języki programowania zwykle zdobywają popularność powoli, latami (czy nawet dekadami). Poczekajmy z 5-10 lat. Z czasem pewnie coraz więcej będzie programistów Rusta i nie będą musieli się przestawić, bo będą go znać.
- Rejestracja:8 miesięcy
- Ostatnio:8 miesięcy
- Postów:12
Chciałbym żeby Rust miał taką prostą składnię jak Hylo, Vale. Do tego Hylo skopiował bezpieczeństwo pamięci z Rusta tylko dodał do tego mniejszą i prostszą składnię.
https://docs.hylo-lang.org/language-tour/functions-and-methods
https://vale.dev/