2015-02-10 78 views
2

我在工作中为服务器制作了一个界面,以验证打印服务器和打印机是否动态启动并将其反馈回Pebble。功能很好,我遇到的问题是菜单。我会加载菜单,然后开始向下滚动,并且突然间物品不在那里。它需要大约6秒钟,然后他们出现。滚动向上和向下都是真的。有很多菜单选项,但即使在菜单中有六个项目也会这样做。Pebble.js菜单项渲染速度慢

这仅仅是处理能力或pebble.js脚本的限制,还是我做错了什么?

- 更新 - 为了将来的参考,重新启动Pebble使渲染显着加快。新手的错误...

var UI = require('ui'); 
 
var ajax = require('ajax'); 
 

 
var main = new UI.Card({ 
 
    title: 'Pebble Interface', 
 
    icon: 'images/mattec.png', 
 
    body: 'Press Top Button to open Cell Picker.' 
 
}); 
 

 
main.show(); 
 

 
main.on('click', 'up', function(e) { 
 
    var menu = new UI.Menu({ 
 
    sections: [{ 
 
     items: [{ 
 
      title: 'ALMSC1' 
 
     }, { 
 
      title: 'ALMSC2' 
 
     }, { 
 
      title: 'DL 1' 
 
     }, { 
 
      title: 'DL 2' 
 
     }, { 
 
      title: 'DL 3' 
 
     }, { 
 
      title: 'DL 4' 
 
     }, { 
 
      title: 'EDGER' 
 
     }, { 
 
      title: 'EPOXYA' 
 
     }, { 
 
      title: 'EPOXYP' 
 
     }, { 
 
      title: 'FORK 1' 
 
     }, { 
 
      title: 'FORK 2' 
 
     }, { 
 
      title: 'HICK 1' 
 
     }, { 
 
      title: 'HICK 2' 
 
     }, { 
 
      title: 'LG 1' 
 
     }, { 
 
      title: 'LG 2' 
 
     }, { 
 
      title: 'LG 3' 
 
     }, { 
 
      title: 'LG 4' 
 
     }, { 
 
      title: 'LG 5' 
 
     }, { 
 
      title: 'LG 6' 
 
     }, { 
 
      title: 'PHD 1' 
 
     }, { 
 
      title: 'PHD 2' 
 
     }, { 
 
      title: 'PHD 3' 
 
     }, { 
 
      title: 'PHD 4' 
 
     }, { 
 
      title: 'SPRLTE' 
 
     }, { 
 
      title: 'STEEL1' 
 
     }, { 
 
      title: 'STEEL2' 
 
     }, { 
 
      title: 'STEEL3' 
 
     }, { 
 
      title: 'STEEL4' 
 
     }, { 
 
      title: 'STEEL5' 
 
     }, { 
 
      title: 'STEEL6' 
 
     }, { 
 
      title: 'SVL 01' 
 
     }, { 
 
      title: 'SVL 02' 
 
     }, { 
 
      title: 'SVL 03' 
 
     }, { 
 
      title: 'SVL 04' 
 
     }, { 
 
      title: 'SVL 05' 
 
     }, { 
 
      title: 'SVL 06' 
 
     }, { 
 
      title: 'SVL 07' 
 
     }, { 
 
      title: 'SVL 08' 
 
     }, { 
 
      title: 'SVL 09' 
 
     }, { 
 
      title: 'SVL 10' 
 
     }, { 
 
      title: 'SVL 11' 
 
     }, { 
 
      title: 'SVL 12' 
 
     }, { 
 
      title: 'SVL 13' 
 
     }, { 
 
      title: 'SVL 14' 
 
     }, { 
 
      title: 'SVL 15' 
 
     }, { 
 
      title: 'SVL 16' 
 
     }, { 
 
      title: 'SVL 17' 
 
     }, { 
 
      title: 'SVL 18' 
 
     }, { 
 
      title: 'SVLCUB' 
 
     }, { 
 
      title: 'TAMP 1' 
 
     }, { 
 
      title: 'TAMP 2' 
 
     }, { 
 
      title: 'WEEDER' 
 
     }] 
 
     }] 
 
    }); 
 
    menu.on('select', function(e) { 
 
     ajax({ url: 'http://myserver/test/pebble/oldpebble.php?cell=' + e.item.title, type:'xml' }, function(data){ 
 
     var istag = data.match(/<istag>(.*?)<\/istag>/)[1]; 
 
      istag = istag.replace(/&quot;/g, "\""); 
 
     var psname = data.match(/<psname>(.*?)<\/psname>/)[1]; 
 
      psname = psname.replace(/&quot;/g, "\""); 
 
     var psip = data.match(/<psip>(.*?)<\/psip>/)[1]; 
 
      psip = psip.replace(/&quot;/g, "\""); 
 
     var upcstatus = data.match(/<upcstatus>(.*?)<\/upcstatus>/)[1]; 
 
      upcstatus = upcstatus.replace(/&quot;/g, "\""); 
 
     var i2of5status = data.match(/<i2of5status>(.*?)<\/i2of5status>/)[1]; 
 
      i2of5status = i2of5status.replace(/&quot;/g, "\""); 
 
     var content = istag + "\n\nPrint Server\n" + psname + "\n" + psip + "\n" + "UPC - " + upcstatus + "\nI2of5 - " + i2of5status; 
 
     var detailCard = new UI.Card({ 
 
      title:e.item.title, 
 
      body: content, 
 
      scrollable: true, 
 
      style: 'small' 
 
     }); 
 
     detailCard.show(); 
 
     }); 
 
    }); 
 
    menu.show(); 
 
});

回答

1

Pebble.js列出的数据流按需观看。六秒听起来很多,我没有看到那么多的延迟,但没有什么可以做到的,你可以做的不多,重新构建与C SDK的应用程序。

+1

谢谢......看起来我可能需要开始学习C. – MattW 2015-02-11 13:27:11

+0

@MattW我觉得你的痛苦,我有完全相同的问题。 – Cj1m 2015-05-14 14:51:44