Ассеты и линкер
Dec. 20th, 2007 20:23Иногда создается ощущение, что то, как линкер работает - военная тайна.
И поэтому делают странное и смешное.
Например, в процессе чтения одного ассета (или библиотеки ассетов) - лезут в другой, в третий, обратно в первый, обратно во второй.
До тех пор, пока много секунд загрузки не будут потрачены исключительно на DVD seek.
Про циркулярные зависимости я промолчу. И про тонны копирований внутри - тоже.
Ну и про отсутствие минимального контроля целостности.
А вот линкеры - они обычно умнее. Особенно те, что разрешают связи при загрузке.
( Пусть не все, но у нас и задача попроще )
Замечу - эта схема более чем тривиальная.
Её в самом тупом виде реализовать ничуть не сложнее, чем сложную обычную.
Учитывая управление временем жизни и прочее счастье вроде хэш-таблиц - так еще и проще.
Грустно про это рассказывать, на самом деле. Ведь не стриминг бесконечных миров даже.
Вот и дядя Дима на gamedeff рассказывает хоть и уровнем повыше, но всё про то же.
Зачем делать плохо - вот загадка.
Лучше уж не делать совсем - хотя бы устойчивее работать будет, да и дешевле.
И поэтому делают странное и смешное.
Например, в процессе чтения одного ассета (или библиотеки ассетов) - лезут в другой, в третий, обратно в первый, обратно во второй.
До тех пор, пока много секунд загрузки не будут потрачены исключительно на DVD seek.
Про циркулярные зависимости я промолчу. И про тонны копирований внутри - тоже.
Ну и про отсутствие минимального контроля целостности.
А вот линкеры - они обычно умнее. Особенно те, что разрешают связи при загрузке.
( Пусть не все, но у нас и задача попроще )
Замечу - эта схема более чем тривиальная.
Её в самом тупом виде реализовать ничуть не сложнее, чем сложную обычную.
Учитывая управление временем жизни и прочее счастье вроде хэш-таблиц - так еще и проще.
Грустно про это рассказывать, на самом деле. Ведь не стриминг бесконечных миров даже.
Вот и дядя Дима на gamedeff рассказывает хоть и уровнем повыше, но всё про то же.
Зачем делать плохо - вот загадка.
Лучше уж не делать совсем - хотя бы устойчивее работать будет, да и дешевле.