|
|
|||||
Регистрация: Dec 2009
Сообщений: 77
|
Crenth интересный подход, изучаю
про "не думайте, что у всех мегабитный анлим" факт - особенно в нашей стране |
|
|||||
[+1 19.06.10]
[+1 27.07.10] Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
|
Цитата:
ибо в любом случае все данные, передаваемые по TCP, так или иначе последовательно байт за байтом помещены в пакет подход же адоба - передавать от клиента к серверу и обратно специфичные для клиент-серверного коннекта команды на человеческом языке. поскольку AMF - это протокольная тема и сериализация скрыта от глаз и рук разработчиков софта на АС3, то применять человеческий язык по-моему глупо и через чур избыточно. я думаю, что у адоба такой неоптимальный подход применен во всем. ибо он встречается уже в базовых вещах. например, из RFC RTMP "The protocol supports up to 65597 streams". Вы можете себе представить ситуацию, когда написанный вами на АС3 медиаплеер одновременно получает от сервера 65597 видеопотоков ? Понятно, что серверу надо поддерживать много коннектов одновременно. Но для чего такая избыточность в р2р протоколе ? или, например, для передачи значения Stream ID в RTMP кое-где используется представление 32-bit little endian, а кое-где 32-bit big endian и даже 64-bit floating point number. или, например,по умолчанию при передаче аудио адоб использует 2 frames per packet. Родной кодек Nellymother пакует звук микрофона в 64 байта. Два фрейма по 64 байта плюс 1 байт заголовка = 129 байт. Упс: по умолчанию (цитата из RFC) "The default chunk size is 128 bytes". Стало быть дефаултная передача будет юзать в 2 раза больше пакетов: потому как надо же один лишний байтик передавать тоже или (цитата RFC) "The maximum chunk size can be 65536 bytes and minimum 128 bytes" а в команде изменения chunksize для передачи нового значения chunk size используется 4 байта Упс опять и так далее говорю же, вся проблема в том, что пипл забыл, что такое процессор i8086 с 1 Мб памяти и 20 Мб HDD и как на такой комп втиснуть задачу, чтобы она летала заколоть их вилами за неоптимайзенный код P.S. у меня на винте 140 тысяч файлов. из них 110 - от адоба после установки одного из продуктов Последний раз редактировалось Crenth; 28.03.2010 в 06:32. |
|
|||||
Modus ponens
|
AMF такой потому что до этого был AMF0 и в нем не было понятия шаблона класса. Т.е. сериализовать свойства по индексам было нельзя. С другой стороны - там есть небольшая оптимизация при пересылке больших объемов однотипных объектов. Т.е. строки записываются в "словарь" и потом используются алиасы. Но для коротких сообщений это бесполезно... Как бы, если не хочется изобретать велосипед, то есть protobuf, он пожалуй будет по-продуманнее и по-оптимальнее в смысле трафика, но его AS3 часть, и особенно генератор малость корявые, и их надо зачистить напильником. Кроме того, в нем по спецификации есть типы данных, которые AS3 не поддерживает. Хотя, конечно, решения заточеные под конкретную задачу в любом случае заборят любое даже очень хорошее решение более общего плана.
__________________
Hell is the possibility of sanity |
Часовой пояс GMT +4, время: 17:58. |
|
« Предыдущая тема | Следующая тема » |
|
|