0

MODX getChunk() の代替手段を探しているのは、多くの場合、出力が非常に遅いように思われるためです。スニペットで 1 回使用すると、速度はほとんどわかりませんが、ループで使用すると、1 秒が重要になります。

ギャラリーの一部として、1ページあたり100枚の〜1300枚の画像を出力しています。

  • 出力がチャンクに配置されるまでに 6 ~ 7 秒かかります $output .= $modx->getChunk('chunkname');
  • 出力がプレーンな HTML の場合は 2 ~ 3 秒

チャンクを使用して画像クエリの結果を出力するためのより高速な代替手段を知っている人はいますか?

4

2 に答える 2

0

あなたのチャンクはどのように見えますか?

getChunk() 呼び出しを放棄して、HTML をインライン化することを検討してください。

$output = '';
foreach ($images as $img) {
    $output .= '<li><a href="'.$img['path'].'" alt="'.$img['name'].'" /></li>';
}

return $output;

ええええ、それは悪い習慣ですが、2 倍以上の時間がかかる代替案に直面した場合、それは悪い最適化ではありません。

于 2012-10-15T00:04:57.750 に答える
0

アーキテクチャ レベルからの別のソリューションがあります。

設計によっては、最初の 20 から 30 をロードして、何らかの無限スクロールを実装し、ユーザーがスクロールを開始したときに残りを ajax で (20 程度で) ロードしないでください。

これにより、サーバーの負荷が軽減され、帯域幅が節約され、より高速なユーザー エクスペリエンスが提供されます。そして、遅い getChunk 呼び出しを回避します。

于 2012-10-15T00:07:25.470 に答える