-
19-09-2019 - |
题
我试图找出一些纠缠在一个多应用程序,我已经建立。它使用 flosc 与xml socket服务器发送的多活动。
这所有的工作收和花花公子对多数的时间。
但是,如果我的意思是和洪水与多事件闪无法跟上分析的投入,并插座只是不断获得的数据堆积,直到它可以赶上或整个事情崩溃。
我没有问题,丢弃输入一旦有太多*但我有麻烦制定一个聪明的方式做到这一点。
*应用程序并6-10同时输入的与没有问题,事情开始变得毛茸茸的,一旦我们处理20多个这基本上意味着有人正躺在表;)
解决方案
它在哪儿窒息?首先,我要开始做一些分析。
配置文件的"服务":
- 多少时间,它是把以做XML编码?
- 多少时间,它是完全写到插座?
配置文件的客户:
- 多少时间,它是把以读取的数据从插座?
- 还有多少时间,它把解码XML?
个人对这样的事情,我将避免XML如果你可以,和/或试图偷懒解xml(这样做的时候你知道你需要它...所以你可以扔掉XML块,没有浪费cpu周期,如果你的计划是越来越超载).
我会试着去跟一个原Socket类 http://www.adobe.com/livedocs/flash/9.0/main/00000318.html#wp128960 和一个自定义包的格式,一系列其中每个指数包含相关数据。在psudocode:
messageArray = [message type, arg0, arg1, arg2...];
所以,你可能有一个老鼠移动事件'的定义,如:
MessageConstants.MOUSE_MOVE = 0; // or whatever id you want
messageArray = [MessageConstants.MOUSE_MOVE, mouseDeltaX, mouseDeltaY];
然后使用AMF http://en.wikipedia.org/wiki/Action_Message_Format 序列化的数据,在线。
希望这会有所帮助。
不隶属于 StackOverflow