Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Socket() жуткие тормоза (http://www.flasher.ru/forum/showthread.php?t=169402)

me2 04.10.2011 18:35

Socket() жуткие тормоза
 
Имеется инстанция Socket(); которая успешно коннектится на сервер.
Сервер в свою очеред строчит достаточно большими пакетами ~ (65kb)
Так вот на момент приёма пакета, флешплейер подвисает (20% cpu, i7).
После получения пакета всё работает красиво.

Сталкивался кто? может есть какие-нибудь методы буферизации , асинхронизации и прочего, доступного в нормальных полноценных технологиях?

toFL 04.10.2011 19:44

Цитата:

в нормальных полноценных технологиях
Например?

me2 04.10.2011 19:54

давай по теме, если конечно знания имеются

gloomyBrain 04.10.2011 20:24

Больше чем 1500 байт за раз Вам вряд ли приходит. Предлагаю проверить парсер на предмет торможения (все-таки 64 кб разобрать может быть и долго).

ЗЫ
Насчет полноценности - полноценные люди обычно не придумывают пакеты в 64 кб

wvxvw 04.10.2011 20:35

http://www.flasher.ru/forum/blog.php?b=173&page=3 тут, в середине, есть мой скрин работы флешевого сокета в Линуксе (оба сокета обмениваются примерно одинаковым количеством информации, но флешевый при этом неимоверно грузит ЦПЮ). Я так понимаю, это нужно принимать как факт / особенность реализации...

dimarik 04.10.2011 20:49

Может, десериализация тормозит?

Цитата:

Больше чем 1500 байт за раз Вам вряд ли приходит.
Точнее, больше MTU байт вряд ли.

me2 04.10.2011 22:58

Цитата:

Больше чем 1500 байт за раз Вам вряд ли приходит. Предлагаю проверить парсер на предмет торможения (все-таки 64 кб разобрать может быть и долго).

ЗЫ
Насчет полноценности - полноценные люди обычно не придумывают пакеты в 64 кб
Нет никакого парсера. Просто сокет, в него просто пишутся данные, никем не обрабатываемые.
Пока сокет данные не соберёт по кусочкам, он сожрёт все доступные ресурсы. Ради хохмы можно передать 1kb по байту, ситуация будет точно такая-же.
В идеале, повесить сборку пакетов на отдельный тред (хаха)
ЗЫ
Судя по твоему представлению, полноценные люди пишут только *****-чатеги из трёх слов.

Цитата:

http://www.flasher.ru/forum/blog.php?b=173&page=3 тут, в середине, есть мой скрин работы флешевого сокета в Линуксе (оба сокета обмениваются примерно одинаковым количеством информации, но флешевый при этом неимоверно грузит ЦПЮ). Я так понимаю, это нужно принимать как факт / особенность реализации...
Да, ситуация схожа. Чтож, ещё одна несостоятельность технологии и криворукость разрабов.

nowhereman86 04.10.2011 23:03

да вроде сами разработчики и профессионалы пишут, что флеш-технология не сильно заточена для работы с сокет-серверами. по той же причине и Стив Джобс обстебывал адоб на тему того почему до сих пор эппл не поддерживает флеш. То адоб обещал поработать над безопасностью, в итоге не получилось, но все обещали, то адоб обещал поработать над производительностью, в итоге не шибко получилось, но все обещали...

dimarik 04.10.2011 23:04

А в каком энваронменте тестите? Хочу повторить.

gloomyBrain 04.10.2011 23:10

Цитата:

Судя по твоему представлению, полноценные люди пишут только *****-чатеги из трёх слов.
Судя по моему представлению и тому что сказал dimarik, общее количество данных не имеет значения, имеет значение порционность данных (это как раз относится к MTU, ну нет смысла придумывать пакет в 64 кб, все равно ни одна сеть столько за раз не отдаст).
Насчет тредов - попробуй под 11 плеером, были анонсы выноса работы с сетью в отдельный поток.


Часовой пояс GMT +4, время: 15:50.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.