Войти
ПроектыФорумСобираю команду

Ищем доп. программиста C# (4 стр)

Страницы: 13 4 5 68 Следующая »
#45
13:50, 29 авг 2023

Alprog
> Наконец игры, которые мы делаем сейчас, уже повсеместно используют самописную
> ECS.
Europa Universalis V не будет лагать? Ура!

#46
13:51, 29 авг 2023

Effsus
> Europa Universalis V не будет лагать? Ура!
Я не могу не подтвердить ни опровергнуть эту информацию, сам понимаешь ))

#47
(Правка: 14:03) 13:58, 29 авг 2023

Alprog
> Что значит использует только struct? Начнём с того, что движок написан на С++
У нас тот контекст (следишь да?), что мы обсуждали ECS в Юнити, а не где то вообще? Цена прироста производительности - это использование исключительно struct без ссылочных типов. Теперь ты говоришь, что движок в Paradox написан на C++. И я спрашивал, он так же как и в Юнити, заставляет использовать только struct, точнее в нем те же ограничения, что описаны там в документации Burst (ссылка не работает, но в моем ролике я на неё ссылаюсь)

или использование ECS наверняка в самописном движке парадокса не накладывает ни каких ограничений на использование С++?

И тогда будет второй вопрос, использует ли этот движок LLVM compiler ?

#48
(Правка: 14:08) 14:05, 29 авг 2023

Effsus
> Europa Universalis V не будет лагать? Ура!
вот где мозгов нет :) магия у них - использование ECS никак не влияет на производительность или давай пруфы, тогда будем разбираться, сделай нормальные тесты, но без Burst - и покажи на что ты там молишься?

Твой код я просто не стал разносить, т.к. не знаю на сколько он в открытом доступе - но если внимательно послушаешь ролик, то сразу поймешь какой тест показывает как ты обсираешься. Ты хоть раз попробывал сделать то тест производительности ECS - или ума не хватило и поверил рекламе?

#49
14:12, 29 авг 2023

Alprog #m25
> показывал вот такой код:
Конкатенация строк в цикле - это что-то на сеньорском? :D

#50
(Правка: 14:20) 14:17, 29 авг 2023

tac
> мы обсуждали ECS в Юнити, а не где то вообще
ECS он и в Африке ECS. Это архитектурный паттерн.

> Цена прироста производительности - это использование
> исключительно struct без ссылочных типов.
Цена прироста производительности - это отказ от майндсета ООП. Дело не в том, что тебе запрещают какие-то привычные тебе языковые конструкции. Дело в том, что ты в принципе должен перестроить мышление и оперировать с данными иначе.

В С++ тебе никто не накладывает ограничений на синтаксис. Но если ты начнёшь пользоваться сырыми указателями (аналог ссылочных типов в данном случае), чтобы лазить по другим компонентам объекта, как ты привык, то ты моментально убьёшь всю производительность, потому что нарушишь локальность кэша и векторизацию, а также сведёшь на нет возможность паралеллизации. Но если ты начнёшь лазить по сырым указателям из систем, то это уже и не паттерн ECS. Так что о чём мы тут говорим? Смысл паттерна в том, чтобы его применять. Невозможность на нём писать в привычном тебе ООП-стиле это не баг, а его фича. В этом смысл паттерна.

tac
> И тогда будет второй вопрос, использует ли этот движок LLVM compiler ?
Ну, на какие-то платформы, очевидно, что используем (mac, linux).
А на какие-то, ясен фиг, нет (xbox).

#51
14:21, 29 авг 2023

HungryBoba
> Конкатенация строк в цикле - это что-то на сеньорском? :D
На архитекторском с 20+ лет опыта. Ну, тогда ещё с 18+ лет опыта, будем делать скидку на это.

Этот человек ещё имеет дискорд-канал и комьюнити, где учит их и советуем архитектурные решения.

#52
14:24, 29 авг 2023

Alprog
Ну хоть что-то ты ответил по сути. Именно это и обсуждаем.

Alprog
> Дело не в том, что тебе запрещают какие-то привычные тебе языковые конструкции.
дело именно в этом

Alprog
> Дело в том, что ты в принципе должен перестроить мышление и оперировать с
> данными иначе.
глупость, о чем я и говорю в ролике, хорошая мина при плохой игре
дело не в мышлении, а исключительно что я должен подстроиться под компилятор и писать на низкоуровневом языке

Alprog
> Но если ты начнёшь пользоваться сырыми указателями (аналог ссылочных типов в
> данном случае), чтобы лазить по другим компонентам объекта, как ты привык, то
> ты моментально убьёшь всю производительность
ну т.е. ты полностью подтверждаешь, то что я и говорил ... дело не в паттерне, это ширма, сделанная специально для того, чтобы можно было повысить производительность при компиляции ..

но использовать этот паттерн повсеместно - это уже баг мышления

заболтался я тут с вами, успехов - учите мат. часть

#53
(Правка: 14:39) 14:36, 29 авг 2023

tac
> чтобы можно было повысить производительность при компиляции ..
Не при компиляции, а при выполнении.

> я должен подстроиться под компилятор и писать на низкоуровневом языке
В первую очередь не под компилятор, а под архитектуру современного железа, в которой существуют такие вещи, как кэш процессора и многоядерность. В чём проблема-то? В том, что тебе сложно?

#54
(Правка: 14:43) 14:39, 29 авг 2023

Alprog
> под архитектуру современного железа, в которой существуют такие вещи, как кэш
> процессор и многоядерность. В чём проблема-то? В том, что тебе сложно?
это не удобно, нужно кучи обвески для простых вещей ... декомпозиция становится не правильной, впрочем ты этого не понимаешь ..
Серьезно, не понимаешь чем отличается программирование на высокоуровневом языке от программирования на низкоуровневом?

Alprog
> Не при компиляции, а при выполнении.
нет именно при компиляции, в обсуждаемом случае

> В первую очередь не под компилятор, а под архитектуру современного железа
Именно под компилятор, который имеет оптимизации под железо ...

вообще то это не так давно считалось плохим подходом, закладываться на железо ... это задача компилятора, а не языка программирования

#55
14:43, 29 авг 2023

tac
> Ты хоть раз попробывал сделать то тест производительности ECS - или ума не
> хватило и поверил рекламе?
Держи, специально для тебя идиота записал видео, где сравнил MonoBehaviour и ECS в основном потоке. Разницу увидишь сам, сама система на ECS оказалась быстрее на 25%, не говоря уже про разницу в 5 раз, если сравнивать не сами системы, а ещё и обёртки над ними.
https://www.youtube.com/watch?v=7-nfg_FJYNc

#56
14:47, 29 авг 2023

Alprog
> В первую очередь не под компилятор, а под архитектуру современного железа, в
> которой существуют такие вещи, как кэш процессора и многоядерность. В чём
> проблема-то? В том, что тебе сложно?
Пишите на асемблере, в чём проблема вам сложно? А разрабы космических рейнджеров писали для повышения производительности.

Разница между с шарп и с++ огромная, как разница между структурой и классом в с шарпе. И tac прав, и это даже не только он пишет, оптимизировать нужно там где это надо.
Разные языки, разные движки, разные механики и вы хотите всё в один шаблон запихнуть.

#57
14:51, 29 авг 2023

tac
> это не удобно, нужно кучи обвески для простых вещей ...
Это субъективщина. Тебе неудобно, потому что ты ничего кроме ООП не умеешь. В итоге твоя критика свелась к тому, что паттерн ECS плохой, потому что он запрещает тебе писать в ООП-стиле. Гениально, чё.

> Серьезно, не понимаешь чем отличается программирование на высокоуровневом языке
> от программирования на низкоуровневом?
ЕСS это тоже программирование на высоком уровне. Просто иное. Ты сам не понимаешь разницу. Низкий уровень - это ассемблер. Давай так: какие ещё высокоуровневые парадигмы, кроме ООП ты знаешь? Ты писал хоть на одном функциональном языке программирования? Ну, или может быть с концепцием заимствования ownership из раст? Как насчёт каких-нибудь Traits, Mixin или прототипного населедования хотя бы? Ты же ничего в своей жизни, кроме самого кондового классического ООП никогда не пробовал и не знаешь, верно? Вот тебе и кажется, что это вершина эволюции, но это не так.

#58
14:51, 29 авг 2023

Effsus
> на 25%
даже если это так (хотя в видео ничего не видно - выложи что ли код хотя бы) ради статистической погрешности я бы даже палец о палец не ударил бы

#59
14:53, 29 авг 2023

tac
> хотя в видео ничего не видно
У тебя монитор пузатый, фуллскрин не работает, интернет только 240p тянет или всё вместе?

Страницы: 13 4 5 68 Следующая »
ПроектыФорумСобираю команду

Тема закрыта.