2012-10-31 40 views
2

嗯, 我想在使用httpservice的项目中使用远程对象(Amfphp)。我听说它会让我的应用程序更快。但是,当我尝试Amfphp在测试目的的数据网格时,我发现它需要更多时间,然后httpservice。这是我迄今为止所做的。Amfphp工作缓慢与Flex-4

AS-3的代码来调用PHP函数:

public function init():void{ 
      var params:Array = new Array(); 
      params.push("1234"); 
      _amf = new RemoteObject; 
      _amf.destination = "dummyDestination"; 
      _amf.endpoint = "http://insight2.ultralysis.com/Amfphp/Amfphp/";//http://insight2.ultralysis.com 
      _amf.source = "manager1";      
      _amf.addEventListener(ResultEvent.RESULT, handleResult); 
      _amf.addEventListener(FaultEvent.FAULT, handleFault); 
      _amf.init(params); 

     } 

     public function handleResult(event:ResultEvent):void{ 
      myGrid.dataProvider = event.result.grid; 
     } 

而且PHP函数从MySQL数据库获取数据:

class output{ 
public $grid; 
public $week; 
} 

function form() 
{ 

    $arrayOut = new output(); 
    $arrayOut->grid = $this->gridValue(); 
    $arrayOut->week= $this->getAllWeek($this->ThisYear); 
    return $arrayOut; 

}

,一切工作正常。但是,获取和渲染280行数据需要将近5秒的时间。 任何人都可以请帮助我使它尽快它应该?我已经试过silexlabs

我使用的数据包嗅探器和统计如下。它表示延迟消耗大部分时间约5秒。什么是延迟?需要帮助的人。请:

enter image description here

+0

哎呀慢!我忘了提及我使用的amfphp版本。这是Amfphp 2.0 –

+1

由于AMF序列化或其他原因,很难判断这是否很慢。我试图添加时钟输出,因为它通过该函数来查看数据库内容是否有任何放缓。如果不是,那么AMFPHP可能非常慢。 –

+0

感谢James Ward的回复。我试过时钟输出。在amfphp的服务浏览器中需要400 ms,并且具有相同参数的相同功能在Flex应用程序中需要7/8秒。 –

回答

0

尝试使用amfphp 1.9

amfphp 2.x版本是不幸比1.9