PaintCAD | SEclub.org
PaintCAD
Все новые
Всего сообщений: 1934
*
BlackStrip
11 июл 2009 в 22:28
Не то что у анимона "а я хз чо там не работает какая та функция. наверна просто большой рисунок". всем понятно что дело в хипе. просто если ты знаешь что предел есть - неплохо бы его обозначить. хотя конечно и я сделал слишком тупо этот предел. можно было бы вложить большую гибкость по выбору колва памяти используемой. но терь старый паинткад уже история. что сделано - то сделано. а насчет ппма - он как картонная декорация, все грузится в объект Image, там это варится, и оттуда выкидывается при сохранении в разные файлы. У меня же методы изначально открывания/сохранения были свои. и я мог посчитать с точностью до байта скока нужно на ту или иную операцию, сколько потребуется када сначала открываем, потом заливаем каким нить цветом, потом эффект применяем, потом еще в гиф собираем анимированный несколько кадров. это все не один год менялось и думалось как бы сделать лучше.
*
BlackStrip
11 июл 2009 в 22:28
и твои поливания типа "ааыы у меня ппм правит спокойно" - ппм требует в 5-10 раз меньше памяти хипа чем паинткад. и это поверь не его плюс, т.к. даже перехватить прозрачный цвет при открывании он не может, а отрисовка на Image при сложных каких нибудь эффектах будет тормозней, чем отрисовка на дублирующем массиве. у него крышка развития - это когда ты щас еще 220х176 редачишь, а щас он доработает, добавит еще кода в прогу - у тя уже тока 150х150 сможет открываться. всё завязано на хип, и он это дело обойти не сможет. поэтому он и не делает новых версий.
*
Yusyanya
11 июл 2009 в 22:29
BlackStrip, вот-вот. С такими требованиями это не паинткад, а фотошопкад. Мне и считать ненада, итак ясно, што в 512кб хипа не влезет эта прога.
З. Ы. Без обид, просто я после твоей гримасы не лучшего о тебе мнения.
*
BlackStrip
12 июл 2009 в 09:19
прально, зачем чото считать еще, лучше болтать не зная сколько в реально требует паинткад или ппм или джастпаинт, и показывать что ты все знаешь обо всем, даже если ты не писал ни одну из этих прог и не понимаешь их принципиальных различий =) ню-ню. а насчет гримас - ну эт как сказал Маяковский "главное - чтоб никто не остался равнодушным" +) эпатаж лучше чем УГ
12 июл 2009 в 09:29 / BlackStrip (3)
*
Yusyanya
12 июл 2009 в 10:08
BlackStrip, да прост я примерный расход хипа знаю. Жастпаинт ~150кб, Ппм~200кб, Графшот~200кб, твоя>530кб. Вот и думай.
*
BlackStrip
12 июл 2009 в 12:09
жастпаинт 150 кб, ппм 200 кб =)) угу. теперь посчитай 4 байт на точку (ARGB). создаешь ПРОСТО рисунок Image 320*240. Скока он будет весит в памяти? 320x240x4 = 300 КБайт. А потом еще его в буфер копируешь - уже еще 300. Плюс еще когда эффекты применяются - наверняка анимон использует какие нить промежуточные буферы, которые если построены на Image - то это еще 300 кбайт для такого рисунка. Итог - 900 Кб. 150 Кбайт это рисунок 200х200 точек когда ты рисуешь. и в буфер его не берешь и эффекты ни разу не тыкаешь.
12 июл 2009 в 12:11 / BlackStrip (1)
*
Yusyanya
12 июл 2009 в 12:16
BlackStrip, а терь такую же арифметику для массива... При таком же размере картинки. Ну а все, што ты описал я не юзаю. Фотиком нокия мой тел обделила.
*
BlackStrip
12 июл 2009 в 12:17
У меня же рисунок и буфер - грубо говоря 5 байт на точку ARGBD где D - это байт из дублирующего массива, принимает от 0 до 255 значения (т.е. номер цвета из палитры). И еще у меня лишний есть буфер Компаратор - 4 байт на точку (обычный image). В итоге создав рисунок, взяв его в буфер и в компаратор - будет 14 байт на точку ) если 320х240х14 = 1,1 Мб хипа нужно. А если ты еще вздумаешь применять эффекты - то дополнительные буферы либо ExtendedImage либо обычный Image еще задействуются. В наихудшем случае это еще 4 байт на точку. Уже 18 байт на точку в сумме. Итого 320х240х18= 1,4 Мб. Вот скока надо хипа паинткаду чтоб помаксимуму использовать свои возможности на рисунке 320х240. А если еще в PNG сохранять - то там еще куча памяти нужно на зазиповку и подсчет значений по телу файла для заголовка. Так что это реальность. А 150 кб - сказки. для любой проги. з.ы. как ни странно в моем е71 есть стока хипа =)
12 июл 2009 в 12:19 / BlackStrip (1)
*
BlackStrip
12 июл 2009 в 12:21
но это уже грань, ибо остается свободным менее 100 кб, и при интенсивном рисовании и не-юзании GC прога может вылететь или висануть все таки. поэтому надо чаще сохраняться
*
Yusyanya
12 июл 2009 в 12:24
BlackStrip, я приводил примерный расход хипа при запуске.
*
BlackStrip
12 июл 2009 в 12:38
ну дык паинткад чтоб потом не дергать память - сразу выделяет под экран, ты всегда рисуешь рисунок размером с экран, просто тебе показывается его кусок и сохраняется тоже этот кусок =) я динамические массивы хотел использовать сначала, тогда бы все было по человечески. но потом увидел что в сименсах бывает глюк жуткий - ты создал массив 320х240 байт. а потом вдруг создал НОВЫЙ рисунок 100х100 точек - по идее ява должна старый массив выкинуть из памяти, а новый сделать. Но в сименсах было так - сначала ява занимает место под новый массив, потом удаляет старый. Т.е. существует момент когда старый еще не удален, а новый уже требует места под себя. Короч получается что памяти надо под два рисунка сразу =) мне это не понравилось, ибо это жуткая нестабильность.
*
BlackStrip
12 июл 2009 в 12:38
ты создал 320х240, потом новый 300х240 - и всё, паинткад попытался сделать 300х240 не удалив 320х240 из оперативы и сдох. Поэтому я сделал выделение априори под макс.размер. Поэтому при запуске стока надо хипа =) причем я пробовал GC юзать перед или после создания нового массива - сименсам было пох. в таком априорном создании есть плюс - если оперативы не хватит, то паинткад сразу не запустится, и не будет такого чтоб потом мучаться и думать чож ничо не пашет то, вроде нажимаешь а оно не рисуется =) на сименсах выдаст OutOfMemory и усё)
12 июл 2009 в 12:41 / BlackStrip (1)
Для полноценного использования разделов сайта войдите или зарегистрируйтесь.
Приложения Java | Загрузки Seclub | Форум | Главная
18+ © Seclub.org 2003-2026