Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 |

 

  Вопрос: Быстрый алгоритм сжатия Добавлено: 02.04.11 22:41  

Автор вопроса:  AWP | Web-сайт: xawp.narod.ru | ICQ: 345685652 

Ответить

  Ответы Всего ответов: 43  

Номер ответа: 31
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #31
Добавлено: 08.04.11 19:33
Сначала тестовые массивы вылетали на разжиме из-за размера исходящих данных. Сделал побольше - заработало. len+len/16+64+3 Этого не хватало...
Потом начал вылетать фиг знает из-за чего. Но мысли есть..=)

  1. Dim wrkmem(65536 - 1) As Byte '64KB work memory
Зачем так?

Ответить

Номер ответа: 32
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #32
Добавлено: 08.04.11 20:38
Сори(65536 - 1), туплю...

Потом я подумал, что данные передаваемые по сети не корректно передаються, поэтому не декомпрессит. Но нет! проверил, сходитья каждый байт... Хз в чем косяк..

Ответить

Номер ответа: 33
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #33
Добавлено: 08.04.11 20:57
а как определяешь размер буфера для декомпрессии? мне во втором примере пришлось в .lzo файл в конец записывать размер оригинального файла, чтобы значть сколько памяти понадобится при расжатии

Ответить

Номер ответа: 34
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #34
Добавлено: 08.04.11 21:00
len+len/16+64+3 - это только при сжатии. при декомпрессии нужен буфер, размер которого совпадает с размером начальных данных

Ответить

Номер ответа: 35
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #35
Добавлено: 08.04.11 21:16
Для zlib, например, он такой был com_size = 1.01 * unc_size + 12
А для разжатия может быть какой угодно...
Но я пытался и оригинальный размер ставить. Все равно вылетает...

Ответить

Номер ответа: 36
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #36
Добавлено: 08.04.11 21:53
Не могу понять...
Сжимаю -> передаю -> проверяю -> пытаюсь разжать с исходным размером. 50 на 50 вылетает... т.е.

Т.Е. то, во что я сжал и то, что пытаюсь разжать 100% идентично, но почти всегда программа вылетает...
Иногда, все же, разжимает данные как нужно.

Ответить

Номер ответа: 37
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #37
Добавлено: 08.04.11 21:54
а можно оригинал и сжатые данные выложить двумя файликами куда-нибудь? очень уж интересно, с чего оно вылетает

Ответить

Номер ответа: 38
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #38
Добавлено: 08.04.11 22:00
http://xawp.narod.ru/test.zip

Ответить

Номер ответа: 39
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #39
Добавлено: 08.04.11 22:07
Я в шоке! Теже данные отдельно нормально разжимаются... А в основном коде вылетает. Хотя проверка данных происходит после и до расжатия.... о_О

Ответить

Номер ответа: 40
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #40
Добавлено: 08.04.11 22:20
Сделал задержку в виде msgbox'а - ничего не вылеает. Возможна какая-то функция не успевает завершиться и обращается к тем.же данным что отправляются на разжатие. Тогда все ок, буду смотреть где, что пересекается...

Ответить

Номер ответа: 41
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #41
Добавлено: 08.04.11 22:35
Да, заработало. К этому массиву что-то обращалось в момент декомпрессии.

Ответить

Номер ответа: 42
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #42
Добавлено: 08.04.11 23:01
полный мультитрединг что ли?)

Ответить

Номер ответа: 43
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #43
Добавлено: 09.04.11 00:04
Да в том-то и дело, что нет. Сокет данные присылает и они без очереди начинают обрабатываться.
Косяк еще в том, что сервер уже все отослал. - что он там еще досылает не понятно...)))

Как-то не очень шустро работает(имею ввиду мое подобие радмина) - не больше 10 кадров выдает. Все на сетке ступориться, хотя локалка и буфер на 16Кб поставил, да еще и в два потока получаю...

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам