innuendo
Теперь Мшурь твоя новая игрушка? )
nes
> Теперь Мшурь твоя новая игрушка? )
Я его просто палочкой пошурудил тут: https://gamedev.ru/code/forum/?id=248005&m=5072059#m6
А то мне как-то скучно стало.
nes
> Теперь Мшурь твоя новая игрушка? )
у него только один проект и тот не коммерческий
innuendo
Чето ты зациклился на коммерческих проектах,
вот тебе пример некоммерческого,
который по сложности может утереть нос любому коммерческому
https://openmw.org/ru/
nes
Просто у самого иннуенды кроме коммерческих никогда ничего и не было.
MrShoor
> В целом концепция "удалить сразу же как только никто не использует" - говно
Согласен, как вариант можно наделить ресурс временем жизни в секундах - если им никто не воспользовался в течение, скажем, 30 секунд - выгружаем. Вообще интересно узнать как это решается в сложных проектах.
nes
> Чето ты зациклился на коммерческих проектах,
вышедший проект как минимум доказывает что работает - хотя бывают исключения
просто помню как этот чел описывал как просто прикрутить инстансинг для скиннинга в чужом коде - нуну
mr.DIMAS
> Вообще интересно узнать как это решается в сложных проектах.
да ну ёлки палки - просто resource cache по LRU
mr.DIMAS
Как насчет разделить ресурсы по типам:
CACHE_PERSISTENT
CACHE_PER_LEVEL
CACHE_LRU
Сам думаю, сделать подобное у себя.
MrShoor
> В идеале нужно прикручивать более "умный" менеджмент, который не будет сразу
> удалять объект при потере на него ссылок.
Imho, сам объект-ресурс удалять в рантайме вообще не надо, нужно удалять данные, которые содержит ресурс и выставлять ему статус (например loaded/not loaded/pending/и т.д.).
0xc0de
> Imho, сам объект-ресурс удалять в рантайме вообще не надо, нужно удалять
> данные, которые содержит ресурс и выставлять ему статус (например loaded/not
> loaded/pending/и т.д.).
ну вот, здравые мысли
в крайнем случае делается просто прекешинг
0xc0de
мой тебе совет смотри как в урхо - там не идеально но можно курить для опыта
0xc0de
> сам объект-ресурс удалять в рантайме вообще не надо, нужно удалять данные, которые содержит ресурс и выставлять ему статус (например loaded/not loaded/pending/и т.д.)
ну вообще можно различать ресурс объекта (например нераспакованный в кеше), загруженный объект(в памяти, готовый к употреблению), используемый объект(дубль в памяти гпу)
mr.DIMAS
Проблему с рекурсивными мьютексами как-то решали?
trex
Нет, просто не использую рекурсивную блокировку.