The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск открытого игрового движка Godot 3.2, opennews (??), 31-Янв-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


30. "Выпуск открытого игрового движка Godot 3.2"  –3 +/
Сообщение от leap42 (ok), 31-Янв-20, 16:56 
Расскажите нам пожалуйста чем плох gc. Только не говорите, что "видите глазаме" (tm) наносекундные задержки stw go gc. И да, в go есть unsafe и свой malloc написанный на go: хотите управлять памятью вручную? - нет проблем. А ещё можно стопарить go gc и запускать вручную "когда можно" (прогрузка уровня например).
Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск открытого игрового движка Godot 3.2"  +/
Сообщение от Аноним (12), 31-Янв-20, 18:09 
Да, да, да, все можно. Но не нужно. Полноценный трехмерный игровой движок это как раз то место, где gc и лишний рантайм должен отсутствовать полностью по крайней мере в кишках, все таки это один из каноничных примеров среды, где low-latency необходим
Ответить | Правка | Наверх | Cообщить модератору

71. "Выпуск открытого игрового движка Godot 3.2"  +/
Сообщение от Аноним (-), 01-Фев-20, 09:39 
Просто жабисты уже проверили что в результате игра потом начинает лагать, непредсказуемо жрать память, свопиться, и конечно можно прокостылить, но когда девелопмент перерастает в профайлинг, костылинг GC и прочее - оказывается проще отправить всех к черту и взять плюсы.
Ответить | Правка | Наверх | Cообщить модератору

70. "Выпуск открытого игрового движка Godot 3.2"  +/
Сообщение от Аноним (-), 01-Фев-20, 09:38 
> Расскажите нам пожалуйста чем плох gc

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

Ответить | Правка | К родителю #30 | Наверх | Cообщить модератору

88. "Выпуск открытого игрового движка Godot 3.2"  +/
Сообщение от leap42 (ok), 01-Фев-20, 16:50 
>И какие, к дьяволу, наносекунды?

Считанные. Ищите замеры. Паузы gc в go исчисляются в наносекундах, а не милисекундах.

Ответить | Правка | Наверх | Cообщить модератору

104. "Выпуск открытого игрового движка Godot 3.2"  –1 +/
Сообщение от Аноним (-), 03-Фев-20, 02:25 
> Считанные. Ищите замеры.

Интересно, где на этом глобусе можно найти не голимые синтетические замеры абстрактной фигни, а real world поведение в реальном игровом движке? Или с чего вы взяли что игровой двигун в паре с абы как слепленой игровой логикой будет вести себя так же как синтетический тест?

> Паузы gc в go исчисляются в наносекундах, а не милисекундах.

Вы выбрали неправильного человека для вранья ему с три короба. Я таки системщик. Печалька, да? :)

Ответить | Правка | Наверх | Cообщить модератору

109. "Выпуск открытого игрового движка Godot 3.2"  +/
Сообщение от leap42 (ok), 03-Фев-20, 04:28 
> Интересно, где на этом глобусе можно найти не голимые синтетические замеры абстрактной
> фигни, а real world поведение в реальном игровом движке? Или с
> чего вы взяли что игровой двигун в паре с абы как
> слепленой игровой логикой будет вести себя так же как синтетический тест?

Голимые синтетические тесты у школьников на overcklokers.ru, а здесь технология, которая из коробки, без всякого тюнинга гарантирует в общем случае максимальную(!) задержку < 0.1 ms. Будь вы хоть немного компетентны, могли разобраться в том, что это работает одинаково для любой нагрузки.


> Вы выбрали неправильного человека для вранья ему с три короба. Я таки
> системщик. Печалька, да? :)

Печалька только в том, что вы пишите анонимно, и вас не уволят за профнепригодность.

Ответить | Правка | Наверх | Cообщить модератору

110. "Выпуск открытого игрового движка Godot 3.2"  +/
Сообщение от Аноним (110), 03-Фев-20, 09:15 
> Голимые синтетические тесты у школьников на overcklokers.ru, а здесь технология, которая из коробки, без всякого тюнинга гарантирует в общем случае максимальную(!) задержку < 0.1 ms. Будь вы хоть немного компетентны, могли разобраться в том, что это работает одинаково для любой нагрузки.

Сколько объектов успеет освободится за эти < 0.1ms?

Ответить | Правка | Наверх | Cообщить модератору

115. "Выпуск открытого игрового движка Godot 3.2"  +/
Сообщение от leap42 (ok), 04-Фев-20, 04:32 
>> Голимые синтетические тесты у школьников на overcklokers.ru, а здесь технология, которая из коробки, без всякого тюнинга гарантирует в общем случае максимальную(!) задержку < 0.1 ms. Будь вы хоть немного компетентны, могли разобраться в том, что это работает одинаково для любой нагрузки.
> Сколько объектов успеет освободится за эти < 0.1ms?

Это хороший вопрос, правильный! Задачи почистить всё за один проход (в нём кстати несколько "раундов") нет, есть задача дать небольшую и предсказуемую задержку. Т.е. при жестком использовании хипа количество необходимых проходов GC будет увеличиваться, но они всё по-прежнему будут короткими и предсказуемыми.

Быдлокодеры будут просто покупать серваки помощнее (GC загружает CPU замедляя подсчёт). Те, кто поумнее и шаристее будут вникать в снижение аллокаций и всякие sync.Pool, но и те и другие будут работать со всякими soft real time штуками комфортно и не думать об освобождении памяти!

Ответить | Правка | Наверх | Cообщить модератору

113. "Выпуск открытого игрового движка Godot 3.2"  +/
Сообщение от Аноним (-), 03-Фев-20, 13:13 
> Голимые синтетические тесты у школьников на overcklokers.ru, а здесь технология, которая
> из коробки, без всякого тюнинга гарантирует в общем случае максимальную(!) задержку < 0.1 ms.

Очень интересно, как оно это делает, если работенки привалило много? Я могу представить себе только 1 способ: забить. И получить ацкий жрач памяти. Тогда игра начнет свопиться.

Кроме того - 0.1мс на каком интервале времени? День? Час? Год? Минуту? Секунду? Миллисекунду?

> Будь вы хоть немного компетентны, могли разобраться в
> том, что это работает одинаково для любой нагрузки.

А я таки видел как штуки с GC себя ведут при *активном* использовании. И мне что-то не нравилось - если они не тупят процом на GC, они гигазы рамы как не в себя наворачивают. Для игры это чревато тем что paging операционки - никакие гопники не оспорят.

> Печалька только в том, что вы пишите анонимно, и вас не уволят
> за профнепригодность.

Теоретически, я конечно могу сам себя уволить, но... это довольно странная идея. Так что меня не уволят в любом случае :)

А вот игродела за юзеж го пожалуй и правда стоило бы выпереть.

Ответить | Правка | К родителю #109 | Наверх | Cообщить модератору

116. "Выпуск открытого игрового движка Godot 3.2"  +/
Сообщение от leap42 (ok), 04-Фев-20, 04:46 
> Очень интересно, как оно это делает, если работенки привалило много?

GC будет происходить чаще. Но он по-прежнему будет быстрым и предсказуемым.

> Кроме того - 0.1мс на каком интервале времени? День? Час? Год? Минуту?
> Секунду? Миллисекунду?

Это абсолютное время STW за один проход GC. Я не знаю как это лучше объяснить, если вы всё ещё этого не понимаете. Как часто он будет случаться - 6 раз в секунду или 600 зависит от того как часто и сколько памяти вы выделяете вместо того чтобы её переиспользовать.

> А я таки видел как штуки с GC себя ведут при *активном*
> использовании. И мне что-то не нравилось - если они не тупят
> процом на GC, они гигазы рамы как не в себя наворачивают.

Если выделять по 600 мегабайт в секунду вместо переиспользования это действительно будет жрать CPU (быдлокодить можно на любом языке и тут никакие прекрасные технологии не помогут). Но во-первых память можно переиспользовать, а во-вторых игры в большинстве случаев тормозят на стороне GPU, а не CPU, а в-третьих CPU всё время дешевеет, я прекрасно помню тормоза duron-800 (могу путать модель за давностью лет, но тормоза помню), небо и земля от того что имеем сейчас.

> А вот игродела за юзеж го пожалуй и правда стоило бы выпереть.

Я не делаю игры, я делаю webrtc и регулярно тестирую задержки вносимые GC, которые выглядят незначительными, а на фоне задержек периферии так и вообще смешными. Я попросил аргументы против GC, но услышал только бредовые предрассудки из 90-х основанные на каких-то проблемах тогдашней java.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру