Performance Yii:渲染过程

Performance Yii:渲染过程,performance,yii,render,Performance,Yii,Render,我想知道是否有人能解释一下当我们称之为“渲染”时会发生什么 让我介绍一下我的问题: 这是我的行动: public function actionIndex() { $new_user = new CustomUser; $new_person = new CustomPerson; $tab_person = $this->getListPerson(); $this->render('index',array('tab'=>$tab_pers

我想知道是否有人能解释一下当我们称之为“渲染”时会发生什么

让我介绍一下我的问题:

这是我的行动:

public function actionIndex()
{
    $new_user = new CustomUser;
    $new_person = new CustomPerson;

    $tab_person = $this->getListPerson();
    $this->render('index',array('tab'=>$tab_person,
                                'user'=>$new_user,
                                'person'=>$new_person));
}
.
. 
.
</p> <br/>   
<?php $this->renderPartial('person-form', array('person'=>$person,
                                                'user' =>$user ));
?>
这是我的索引视图:

public function actionIndex()
{
    $new_user = new CustomUser;
    $new_person = new CustomPerson;

    $tab_person = $this->getListPerson();
    $this->render('index',array('tab'=>$tab_person,
                                'user'=>$new_user,
                                'person'=>$new_person));
}
.
. 
.
</p> <br/>   
<?php $this->renderPartial('person-form', array('person'=>$person,
                                                'user' =>$user ));
?>
。
. 
.


所以我的问题是加载页面的时间很长。 如果我放一个

死亡(“死亡”)

在actionIndex中的渲染之前或视图末尾(在renderPartial之后),执行速度非常快。我将在0.3秒后看到“die”(如果我把语句放在它的末尾,我的索引页也会出现)。但是如果我把它放在渲染之后或者我没有放,那么我的页面将被正确加载,但只需4-5秒

所以我想我不太明白渲染后会发生什么。我重复一下,如果我在我的查看页面的末尾停止执行,它会非常快,但在我的操作的末尾,它会非常慢。我考虑过js和css,但在查看之后,我没有看到任何东西,Firebug告诉我这些文件加载得非常快。 如果我把“die()”语句放在布局main.php的末尾,速度也会非常快

所以我知道render将显示页面并将其包装在布局中,但是否还有其他东西可能会使操作非常缓慢

如果有人知道我的问题,我将非常感激

对不起,如果我犯了错误,英语不是我的母语

感谢您阅读我的文章,祝您愉快:)


据我所知,Michaël不应该加载得更慢。也许你在页面上加载了其他内容。
尝试在屏幕上启用日志:。查看视图渲染后是否执行了任何操作。

这看起来可能令人困惑的一个原因是,可能不是“渲染”太慢。可能加载模型和关系很慢,但默认情况下,它们是延迟加载的。这意味着,在查询数据库的代码被命中之前,数据库不会被查询,这通常在视图中


这可能解释了渲染速度慢的原因。因此,正如其他人所说,您需要启用日志记录,无论是在页面中还是登录到firebug。然后,您可以检查任何慢速查询或组件。

请参阅。使用调试器逐步完成代码以查看发生了什么,使用探查器查看哪些部分占用的时间最多。要快速回答您的问题,请查看DCoder链接底部的箭头图。本质上,您的内容是由内而外构建的(基本视图和渲染部分,然后是布局,然后是CSS/JS)