crypt of decay - никогда такого не было, и вот опять... [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

никогда такого не было, и вот опять... [Sep. 11th, 2022|03:23 am]
Previous Entry Add to Memories Tell A Friend Next Entry
впилил в редактор встроеный просмотрщик манов. парзятся они скриптами, конечно. пнул на тест ман по gcc, редактор выжрал всю память и не смог отформатить даже треть текста.

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

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

подумал-подумал — и вообще весь гц переписал: стал быстрее, и даже чуть меньше памяти на себя жрёт. заодно переписал немного парзер. в итоге выжирает дополнительно 32 мб (это лимит, после которого приходит гц и убирает всё говно), тот же ман парзится за ~260 мсек.

кстати, FlightGear простеньким скриптом тоже можно заставить выжрать всю память и потом адово наглючить (потому что я за основу взял движок скриптов оттуда).

вообще, я в движке сделал овердохуя улучшений и изменений, включая оптимизатор байткода (оно не зря выросло с 300 кб до 700), но увы: обратно во флайтгир оно не влезет. потому что и апи немного другой, и — что хуже — синтаксис скриптов. а у них там охулиард всего наскриптовано. может когда-нибудь попробую хотя бы самое вкусное им сбэкпортить.

вообще, надо бы GC ещё допилить: во-первых, скриптодвижок мультипотоковый (хоть я это и не использую), но на каждое выделение объекта хватает глобальный лок. надо бы сделать не глобальный набор пулов, а каждому потоку свой. и во-вторых, GC переделать из stop-the-world в инкрементальный. лично мне оно не особо надо, но флайтгиру очень поможет.
Linkmeow!

Comments:
From:(Anonymous)
Date:September 11th, 2022 - 04:04 am
(Link)
А какие языки программирования тебе нравятся? Кроме совсем уж редких?
[User Picture]
From:[info]ketmar
Date:September 11th, 2022 - 04:27 am
(Link)
мне пофигу, я их не на романтическое свидание приглашаю же. на самом деле их вообще всего два: императивщина и функциональщина. а какие рюшки сверху насыпали — не так уж важно.
From:(Anonymous)
Date:September 11th, 2022 - 04:36 am
(Link)
Спасибо
From:(Anonymous)
Date:September 11th, 2022 - 10:21 am
(Link)
Видел тут днесь, как ваш почти-коллега, только проприетарный, из воксельных моделек обратно спрайты генерит
https://youtu.be/dw10zm8KkO0
[User Picture]
From:[info]ketmar
Date:September 11th, 2022 - 12:47 pm
(Link)
только совершенно неясно, нахуя.
From:(Anonymous)
Date:September 12th, 2022 - 11:14 am
(Link)
Ну в его случае впринципе понятно, в d3d плохеньких спрайтов хватало, летуны из видео в частности, и карты повертикальней, тех фреймов что он наделал дико нехватало.
В думе такого безобразия не было конечно, но пипл вроде воксельпаки пиляет, да и ты емнип про модельки для лута писал.
[User Picture]
From:[info]ketmar
Date:September 12th, 2022 - 11:27 am
(Link)
и в его случае тоже непонятно: у него есть гпу. конвертим воксель в модельку, заливаем в гпу, рендерим. нахера заниматься вот этой хуйнёй, которой он занимается — совершенно неясно.
[User Picture]
From:[info]blackdoomer
Date:September 13th, 2022 - 06:15 pm
(Link)
некоторым вставляет спрайтовый look-n-feel, но мешает малое количество проекций. это примерно как с аудиофилией к виниловым пластинкам.
From:(Anonymous)
Date:September 11th, 2022 - 10:58 am
(Link)
> впилил в редактор встроеный просмотрщик манов

вот с этого и начинается