Войти
ФлеймФорумПрограммирование

Боттелнек загрузки уровня карты миссии (27 стр)

Advanced: Тема повышенной сложности или важная.

Страницы: 123 24 25 26 27 28 Следующая »
#390
(Правка: 12:45) 12:45, 1 апр. 2021

Ghost2
> И?

говорят, что хэштаблица в среднем за O(1), а std::map за O(logN) - ты не знаешь почему ?


#391
(Правка: 13:05) 12:59, 1 апр. 2021

Ghost2
> Естественно в контексте локализации.
Мёрж - настолько устоявшийся термин, специфичный синхронизации кододатабазы, что в контекст локализации лезет только вторичным образом. Поясни, что именно ты имел в виду и что надо мёржить локально.

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

#392
(Правка: 13:01) 13:00, 1 апр. 2021

innuendo

> что хэштаблица в среднем за O(1), а std::map за O(logN)
Так почему у тебя std::map, а не std::unordered_map?

> ты не знаешь почему ?
Знаю почему. А ты знаешь

Как строить хешмапу? цепочкой, последовательностью проб. И какой хеш нужен для средней руки игры. Одинарный (и какой?) или двойной?

?

#393
13:05, 1 апр. 2021

Ghost2
> Знаю почему.

и почему ? там же нужно считать хэш?

#394
(Правка: 13:09) 13:08, 1 апр. 2021

Ghost2
> Так почему у тебя std::map, а не std::unordered_map?
Рискну предположить, потому что это уже локальный мэм.
Считать хэш нужно не от локализованных строчек, а их идентификаторов.

#395
13:11, 1 апр. 2021

Ataman

> Поясни, что именно ты имел в виду и что надо мёржить локально.
Хм. Merge в локализации это практически устоявшееся понятие. Мы взяли некий срез проекта, нашли все ресурсы, которые нужно перевести. Перевели. Разрабатываем еще неделю, в ходе разработки появляются новые строки, изменяются и удаляются старые. Опять ищем все ресурсы, которые нужно перевести. Вот merge это про то, как не переводить все это заново, а объединить новые/удаленные/измененные ресурсы с уже переведенными.

> Слишком общий вопрос, на который нет однозначного ответа.
Это очень конкретный вопрос. Вот есть poedit, qt translator или, скажем, weblate. Какие инструменты использовались для локализации в твоих проектах?

#396
13:35, 1 апр. 2021

innuendo

> и почему ? там же нужно считать хэш?
Если ты не знаешь что такое хешмап и big O notation, объясняю. Когда строчка 8 символов, то хеш считается быстро, быстро попадаешь в бакет и, в зависимости от коэффициента заполнения хеш таблицы, относительно быстро находишь или нет нужный элемент. Поэтому O(1).
Когда строчка 200 символов, то неизвестно что быстрее - посчитать от нее хеш (а иногда и не один) или пройтись по массиву даже линейным поиском. Последнее это вообще O(N).
Так вот, если построить график зависимости реального времени поиска от N, то для бинарного и линейного поиска это будет нечто похожее на C*log(N) и C*N, с оговорками на всякие кеш промахи и степень схожести строчек.
А вот для хешмапы сложно сказать что это будет вообще, потому что сильно зависит от самих данных, алгоритма хеширования и способа разрешения коллизий. Определенно начиная с некоторого N хеш таблица будет быстрее бинарного и тем более линейного поиска, в этом и состоит смысл big O notation. Но O(1) в среднем для хеш таблицы совсем не значит, что это всегда супер быстро.

#397
13:41, 1 апр. 2021

Ataman

> Считать хэш нужно не от локализованных строчек
Разумеется.

> а их идентификаторов.
А что такое идентификатор строчки?

#398
13:41, 1 апр. 2021

Ghost2
> Хм. Merge в локализации это практически устоявшееся понятие.
Все равно не понятно. Почему нельзя просто обновить локальный файл локализации в процессе "собирания" ваших строчек и зачем делать два, а потом мержить? Что отдается переводчикам?

> Это очень конкретный вопрос. Вот есть poedit, qt translator или, скажем,
> weblate. Какие инструменты использовались для локализации в твоих проектах?
Не вижу конкретики. На моих проектах - были и стандартные движковые и кастомные инструменты.

#399
13:52, 1 апр. 2021

Ataman

> Почему нельзя просто обновить локальный файл локализации в процессе "собирания" ваших строчек
Потому что исходные строки могут изменяться и иногда удаляются. И переводчик должен видеть - что изменилось и что удалилось одновременно с переводами от предыдущей версии.

> Что отдается переводчикам?
Вот этот объединенный файл и отдается.

> На моих проектах - были и стандартные движковые и кастомные инструменты.
Так что это были за инструменты?

#400
(Правка: 15:01) 14:51, 1 апр. 2021

Ghost2
> А что такое идентификатор строчки?
Достаточно сказать, что это не обязательно строки, которую где-то из кода отпарсили. Это может быть и guid и просто затолканное через инструментарий уникальное в неком контексте имя.

> И переводчик должен видеть
Это переводчик с языка программистов на литературный английский?

> Вот этот объединенный файл и отдается.
Вместе с соответствующей тулзой или в неком текстовом формате?

> Так что это были за инструменты?
Стандартные ты и сам знаешь, а про кастомные могу сказать, что делались на минимально достаточном уровне. Примерно как ты тут описываешь, только без бинарных блобов для текста. Это из того, что зарелизилось, естественно.

#401
(Правка: 20:51) 20:45, 1 апр. 2021

Ghost2
> Когда строчка 8 символов, то хеш считается быстро, быстро попадаешь в бакет и

ты, правда, не в курсе, что хэш можно считать один раз( прям даже в конструкторе строчечки), и не важно, 8 символов или не 8?

Ghost2
> Определенно начиная с некоторого N хеш таблица будет быстрее бинарного

как нехорошо получилось

#402
21:32, 1 апр. 2021

Ataman

> Это переводчик с языка программистов на литературный английский?
Не, программисты тут боком немножко, если строчке не в коде.

> Вместе с соответствующей тулзой или в неком текстовом формате?
Тулза работает с текстовым форматом, выхлоп в виде блоба.

innuendo

> ты, правда, не в курсе, что хэш можно считать один раз
Я тебе уже писал выше про вычисление хеша в конструкторе, только после этого тебя вообще повело куда-то в сторону реализации. Вот атаман рассказал про идентификаторы (например, так сделана локализация в RoR). С ними хешмапа нормально взлетит.

> как нехорошо получилось
Ты так говоришь, будто знаешь, чему это N равно.

#403
3:54, 2 апр. 2021

есть хоть кто-то, кто работал с иннуэндо ирл и потом его не возненавидел?

#404
9:09, 2 апр. 2021

Suslik

сам как думаешь ?

Страницы: 123 24 25 26 27 28 Следующая »
ФлеймФорумПрограммирование