シンプルなパネルを備えたSenchaTouchアプリケーションがあります。
var scrolling = new Ext.Application({
launch : function () {
var titlebar = {
dock : 'top',
xtype : 'toolbar',
title : 'Scrolling Test'
};
new Ext.Panel({
fullscreen : true,
id : 'panel',
scroll : {
direction : 'vertical',
eventTarget : 'parent'
},
dockedItems : [titlebar],
styleHtmlContent : true,
html : ''
});
}
});
このパネルには、Ext.Ajax.request応答が表示されます。
Ext.Ajax.request({
url : 'largefile.html',
success : function (response) {
Ext.getCmp('panel').update(response.responseText);
},
failure : function (response) {}
});
応答には約1.6MBのテキストが含まれています。はい、内容が多すぎます。しかし、iPad 1で実行しようとすると、パネルをロードした後、スクロール効果がスムーズに実行されません。1〜2秒間フリーズし、少しスクロールして、もう一度フリーズしてから終了します。
パネルのfpsを測定してみました。
panel.scroller.getLastActualFps();
Chromeブラウザでは、メソッドは約60fpsを返します。iPadでは、メソッドは約0.25fpsを返します。
私は「ライト」スクローラーコンポーネントを構築して、多くのイベントとリスナーを無効にすることを考えていました。どう思いますか?Scrollerコンポーネントは、実際には大きなコンテンツに対してこの問題を抱えていますか?