Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Парсинг текстового файла без напряга для GC и без unsafe (3 стр)

Парсинг текстового файла без напряга для GC и без unsafe (3 стр)

Страницы: 1 2 3 4 516 Следующая »
FordPerfectПостоялецwww6 мар. 201815:36#30
Zab
Если нужно точно - этому коду прямая дорога на помойку.
Про точно - статья выше.

exp вносит типично меньше погрешности, чем double(b)*multiplier.

Скорость <500 тактов.

Вообще оно там иллюстративно, чтобы короче код.
Ну и из интереса - как ты предлагаешь ручками без pow?

zlosУдалёнwww6 мар. 201816:40#31
Легко - перенести парзинг на время компиляции и иметь дело с готовыми бинарными блобами которые просто копируются на видеокарту.
ShadowTeologПостоялецwww6 мар. 201818:18#32
Взять самый большую и тормозную библиотеку по чтению obj
написать читалку и писалку собственного бинарного формата самым варварским методом.
сделать конвертер жующий все возможные форматы и сохраняющий родной на диске или SharedMemory.
вызывать конвертер при создании дистрибутива либо если нужно грузить динамически, отдельным процессом с передачей через SharedMemory

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

Polyflow3dПостоялецwww6 мар. 201818:43#33
Какие конверторы, какая компиляция?
Еще раз -  мне  нужен рантайм c# импортер.
Потому что юнити.
А раз юнити - это значит webgl , android и прочие скороварки.

Я озаботился этим GC только потому что хочу сделать плавную асинхронную загрузку.
Так, у меня все уже давным-давно работает.

Правка: 6 мар. 2018 18:50

ShadowTeologПостоялецwww6 мар. 201823:28#34
Про юнити в вопросе не было ни слова. А учитывая что эти obj файлы unity нафиг не нужны, у нее есть собственная система бандлов, которая позволяет грузить ресурсы в рантайме  в  своем формате, смысл вопроса становиться непонятен.
Верный ответ на вопрос "как лучше парсить obj файлы в рантайме на мобилке?"-никак, нехрен их парсить, это промежуточный формат для экспорта да еще и ущербный.
можно неделю говнокодить посимвольный разбор с кучей грязных хаков, а потом выбросить все это нафиг, или сразу за три дня сделать по-человечески, отдельно сборку ресурсов, отдельно загрузку.

Правка: 6 мар. 2018 23:51

Polyflow3dПостоялецwww7 мар. 20187:20#35
ShadowTeolog
Верный ответ на вопрос "как лучше парсить obj файлы в рантайме на мобилке?"-никак, нехрен их парсить, это промежуточный формат для экспорта да еще и ущербный.

эксперд!

Daniil PetrovЗабаненwww7 мар. 20187:24#36
Polyflow3d
Я вот одного не пойму - нахрена тебе в Юнити велосипедить какие-то нищебродские форматы, когда он должен нормально хавать FBX, как и UE4 :) ты себе головняк придумал и людям практикуешь моральный секс :)))

belyakov-nasha-rasha_26090970_orig_ | Парсинг текстового файла без напряга для GC и без unsafe

Правка: 7 мар. 2018 7:26

Polyflow3dПостоялецwww7 мар. 20188:38#37
Daniil Petrov
я бы обьяснил, но лень потом читать советы  от экспердов о том что мне это на самом деле не нужно xD
Дискуссия бурная начнется, появятся непонимающие граждане .
Жалко времени.
По теме, я так понял, ответа нет. Ну что ж, смиримся.
Daniil PetrovЗабаненwww7 мар. 201810:01#38
Polyflow3d
Главный смысл форума = учиться гуглить и решать свои проблемы самостоятельно :))) решать я более или менее научился, а вот грамотно гуглить...

Правка: 7 мар. 2018 10:02

boolУчастникwww7 мар. 201810:21#39
Polyflow3d
Избавиться от string.split легко. Просто шагаешь по строке, первые символы - тип данных, определяешь тупо как switch (str[0]) например, а дальше два итератора до пробела и до следующего пробела после него, а потом str.substring(first, end - first), но и в этом случае у тебя будет новая строка. Но это не так страшно, как может показаться. И если ты этот obj на мобилке грузишь на старте, а не в каждом апдейте, то вполне нормально. Там, поверь, юнити намного больше аллоцирует, чем вот эти строчки.
KartonagnickЗабаненwww7 мар. 201810:24#40
Zab
> чтобы оценить как оно должно выглядеть.

как должно выглядеть говно.

war_zesПостоялецwww7 мар. 201810:40#41
Polyflow3d

Ищи нужное

Так будет быстрее чем ждать что кто-то поможет. Ведь все уже написано до тебя, и если тебе надо что-то решить - то скорее всего кто-то это уже решил

Если совсем надо без аллокаций - то уже выше сказали. Грузишь obj любым способом в редакторе, формируешь из него класс с данными, сериализуешь этот класс в бинарный кусок памяти. А на мобилке грузишь этот кусок памяти (а не obj)

Правка: 7 мар. 2018 10:44

MrShoorУчастникwww7 мар. 201810:46#42
Suslik
> чувак, ему надо .obj файл распарсить, какие компиляторы? какой институт?
> парсилка .obj формата за полчаса пишется.
Это нормально. Скоро чтобы текстовый файл по строкам распарсить надо будет год учиться. Д - деградация.
FlyOfFlyПостоялецwww7 мар. 201811:00#43
Чувак с самого начала пишет про С# и obj файлы. Ему предлагают написать компилятор и дают код на C++ или предлагают assimp.
А по теме: Никак

Правка: 7 мар. 2018 11:05

*Lain*Постоялецwww7 мар. 201811:00#44
MrShoor
> деградация
А кто в этом виноват? Ну а вообще парсилка обж за 3 минуты ищеца в гугле. А виноват Гугл. Да
Страницы: 1 2 3 4 516 Следующая »

/ Форум / Программирование игр / Общее

2001—2018 © GameDev.ru — Разработка игр