memory allocator 2D
От: IROV..  
Дата: 28.03.12 17:18
Оценка:
bin packing — может эфективно запаковывать прямоугольники в один большой прямоугольник,
а ктото встречал алгоритм который бы эфективно менеджерил добавление и удаление, такой себе аллокатор в 2D
я не волшебник, я только учусь!
Re: memory allocator 2D
От: Sharowarsheg  
Дата: 28.03.12 17:39
Оценка: :)
Здравствуйте, IROV.., Вы писали:

IRO>bin packing — может эфективно запаковывать прямоугольники в один большой прямоугольник,

IRO>а ктото встречал алгоритм который бы эфективно менеджерил добавление и удаление, такой себе аллокатор в 2D

Тетрис?
Re[2]: memory allocator 2D
От: IROV..  
Дата: 28.03.12 17:47
Оценка:
Здравствуйте, Sharowarsheg, Вы писали:

S>Здравствуйте, IROV.., Вы писали:


IRO>>bin packing — может эфективно запаковывать прямоугольники в один большой прямоугольник,

IRO>>а ктото встречал алгоритм который бы эфективно менеджерил добавление и удаление, такой себе аллокатор в 2D

S>Тетрис?

Тетрис пакует
я не волшебник, я только учусь!
Re: memory allocator 2D
От: nen777w  
Дата: 28.03.12 22:13
Оценка:
Здравствуйте, IROV.., Вы писали:

IRO>bin packing — может эфективно запаковывать прямоугольники в один большой прямоугольник,

IRO>а ктото встречал алгоритм который бы эфективно менеджерил добавление и удаление, такой себе аллокатор в 2D

Дай угадаю... пишешь что то вроде текстурного менеджера для динамически генерируемых процедурных текстур?
Я когда то обсуждал такое здесь
Автор: nen777w
Дата: 13.03.08
и вот здесь
Автор: nen777w
Дата: 14.03.08
.
Но на практике сделал попроще, способ не помню, надо восстанавливать по коду, но вроде работает для тех нужд что я писал нормально (судя по дампу текстур из gDebugger).
Re: memory allocator 2D
От: McSeem2 США http://www.antigrain.com
Дата: 29.03.12 02:20
Оценка: :)
Здравствуйте, IROV.., Вы писали:

IRO>bin packing — может эфективно запаковывать прямоугольники в один большой прямоугольник,

IRO>а ктото встречал алгоритм который бы эфективно менеджерил добавление и удаление, такой себе аллокатор в 2D

Это нерешаемая задача, но я ее решил — эффективный динамический кэш для глифов в видеопамяти. Как именно сделано — не скажу, не имею права, извиняйте. Но задача была очень увлекательная.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[2]: memory allocator 2D
От: HotDog Швейцария www.denebspace.com
Дата: 29.03.12 07:48
Оценка: 1 (1) +1
Здравствуйте, McSeem2, Вы писали:

MS>Это нерешаемая задача, но я ее решил — эффективный динамический кэш для глифов в видеопамяти. Как именно сделано — не скажу, не имею права, извиняйте. Но задача была очень увлекательная.


При всем уважении... Для чего был этот пост? Просто напомнить о своей крутизне?
Re[3]: memory allocator 2D
От: supacrazypusher  
Дата: 29.03.12 10:39
Оценка:
Просто напоминание, что нерешаемые задачи решаемы
Re[2]: memory allocator 2D
От: IROV..  
Дата: 29.03.12 14:39
Оценка:
Здравствуйте, nen777w, Вы писали:

N>Здравствуйте, IROV.., Вы писали:


IRO>>bin packing — может эфективно запаковывать прямоугольники в один большой прямоугольник,

IRO>>а ктото встречал алгоритм который бы эфективно менеджерил добавление и удаление, такой себе аллокатор в 2D

N>Дай угадаю... пишешь что то вроде текстурного менеджера для динамически генерируемых процедурных текстур?

N>Я когда то обсуждал такое здесь
Автор: nen777w
Дата: 13.03.08
и вот здесь
Автор: nen777w
Дата: 14.03.08
.

N>Но на практике сделал попроще, способ не помню, надо восстанавливать по коду, но вроде работает для тех нужд что я писал нормально (судя по дампу текстур из gDebugger).
Да, радилась тут идейка, но для ее решения нужна такая штука, а сложно найти? хочется хотя бы примерно понять как лучше сделать это
я не волшебник, я только учусь!
Re[4]: memory allocator 2D
От: McSeem2 США http://www.antigrain.com
Дата: 29.03.12 16:59
Оценка:
Здравствуйте, supacrazypusher, Вы писали:

S>Просто напоминание, что нерешаемые задачи решаемы


На самом деле — с ограничениями, но вполне разумными. Правда потом пришлось огребать от саппорта и объяснять, что я таким образом просто повысил емкость кэша в несколько раз на мелких глифах. А на крупных — тут уж ничего не поделаешь, минимально гарантированная емкость остается такой же, как и в случае банального разбиения на квадраты. Но мой метод оказался очень востребованным для CJK.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[2]: memory allocator 2D
От: IROV..  
Дата: 30.03.12 16:13
Оценка:
Здравствуйте, McSeem2, Вы писали:

MS>Здравствуйте, IROV.., Вы писали:


IRO>>bin packing — может эфективно запаковывать прямоугольники в один большой прямоугольник,

IRO>>а ктото встречал алгоритм который бы эфективно менеджерил добавление и удаление, такой себе аллокатор в 2D

MS>Это нерешаемая задача, но я ее решил — эффективный динамический кэш для глифов в видеопамяти. Как именно сделано — не скажу, не имею права, извиняйте. Но задача была очень увлекательная.


https://sourceforge.net/p/atlasallocator

вот мой увлекательный вечер
я не волшебник, я только учусь!
Re[3]: memory allocator 2D
От: McSeem2 США http://www.antigrain.com
Дата: 30.03.12 16:38
Оценка:
Здравствуйте, IROV.., Вы писали:

IRO>https://sourceforge.net/p/atlasallocator

IRO>вот мой увлекательный вечер

Че-то ни фига не понятно, хотя-бы скриншот какой-никакой.
У меня вот есть демо http://antigrain.com/stuff/dyna_2d_cache2.exe
Это даже больше чем аллокатор — это 2D кэш со стратегией LRU, но не строгой, а приблизительной. Слайдерами слева внизу можно регулировать размеры и смотреть, как алгоритм адаптируется к новым условиям. Да, главное ограничение — это максимальная высота прямоугольника, но это нормально для поставленной задачи, поскольку большие буквы уже выгоднее тесселировать и кэшировать в виде мешей.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[4]: memory allocator 2D
От: IROV..  
Дата: 31.03.12 13:25
Оценка:
Здравствуйте, McSeem2, Вы писали:

MS>Здравствуйте, IROV.., Вы писали:


IRO>>https://sourceforge.net/p/atlasallocator

IRO>>вот мой увлекательный вечер

MS>Че-то ни фига не понятно, хотя-бы скриншот какой-никакой.

MS>У меня вот есть демо http://antigrain.com/stuff/dyna_2d_cache2.exe
MS>Это даже больше чем аллокатор — это 2D кэш со стратегией LRU, но не строгой, а приблизительной. Слайдерами слева внизу можно регулировать размеры и смотреть, как алгоритм адаптируется к новым условиям. Да, главное ограничение — это максимальная высота прямоугольника, но это нормально для поставленной задачи, поскольку большие буквы уже выгоднее тесселировать и кэшировать в виде мешей.
У меня не буквы,

спасибо, посмотрю демку
я не волшебник, я только учусь!
Re: memory allocator 2D
От: Аноним  
Дата: 03.04.12 21:18
Оценка: +1
Здравствуйте, IROV.., Вы писали:

IRO>bin packing — может эфективно запаковывать прямоугольники в один большой прямоугольник,

IRO>а ктото встречал алгоритм который бы эфективно менеджерил добавление и удаление, такой себе аллокатор в 2D

Присоединяюсь. Собственно, совершенно вообще не понимаю, почему на эту тему так трудно что-либо найти. Это же абсолютно первостепенная задача, возникающая при работе с аппаратной графикой (оптимизация переключения текстур). Может, все это решают каким-то другим способом?
Re: memory allocator 2D
От: Аноним  
Дата: 07.04.12 08:18
Оценка:
Здравствуйте, IROV.., Вы писали:

IRO>bin packing — может эфективно запаковывать прямоугольники в один большой прямоугольник,

IRO>а ктото встречал алгоритм который бы эфективно менеджерил добавление и удаление, такой себе аллокатор в 2D

Сдается мне, надо задать вопрос на StackOverflow, а то этот форум какой-то совсем тухлый.
Re[2]: memory allocator 2D
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 07.04.12 08:22
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Присоединяюсь. Собственно, совершенно вообще не понимаю, почему на эту тему так трудно что-либо найти. Это же абсолютно первостепенная задача, возникающая при работе с аппаратной графикой (оптимизация переключения текстур). Может, все это решают каким-то другим способом?


Начиная с DX10, эта проблема решается текстурными массивами.
Ce n'est que pour vous dire ce que je vous dis.
Re[3]: memory allocator 2D
От: Аноним  
Дата: 07.04.12 09:37
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Начиная с DX10, эта проблема решается текстурными массивами.


А ежели у меня OpenGL ES 2.0?
Re[4]: memory allocator 2D
От: Аноним  
Дата: 08.04.12 10:46
Оценка:
Здравствуйте, McSeem2, Вы писали:

MS>Это даже больше чем аллокатор — это 2D кэш со стратегией LRU, но не строгой, а приблизительной. Слайдерами слева внизу можно регулировать размеры и смотреть, как алгоритм адаптируется к новым условиям. Да, главное ограничение — это максимальная высота прямоугольника, но это нормально для поставленной задачи, поскольку большие буквы уже выгоднее тесселировать и кэшировать в виде мешей.


Это гораздо более простая задача.
Re: memory allocator 2D
От: Аноним  
Дата: 11.04.12 17:18
Оценка:
Здравствуйте, IROV.., Вы писали:

IRO>bin packing — может эфективно запаковывать прямоугольники в один большой прямоугольник,

IRO>а ктото встречал алгоритм который бы эфективно менеджерил добавление и удаление, такой себе аллокатор в 2D

Следил, следил за этой темой, а потом решил сам поискать, и ключевые слова оказались достаточно очевидными: dynamic bin packing.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.