[請益] 網頁程式怎麼改善效能?

作者: p52189 (鼠霸)   2016-10-27 16:22:38
不知道能不能發在這
我最近遇到了瓶頸
有一支程式,使用AngularJS 1.5.8
內容是印一個滿大的表格 (表格是後端程式印死的,不是動態生成)
然後有一個 AJAX 的動作去叫一支花費時間應該不會超過一秒的php程式
撈回來的資料約 10筆,配template ,ng-repeat 印出來
這支程式不明原因的很慢
大部分時間花在,後端寫死的大表格印完之後 ,AJAX撈東西回來的小表格即將印出之前
我開 Chrome 看著 timeline 看不出個所以然
有很大一部分是灰色的 other 狀態
scripting 跟 rendering 佔不多
表格cell數量大約是 15 * 500
我個人電腦記憶體是 2 G
請問大家遇到這種問題都怎麼找問題根源
如何解決的?
因為是工作的程式不能給各位看
但是如果有描述不夠仔細的我會盡量補充
懇請懂網頁程式的大大,提點一下
感謝!!
作者: femlro (母豬教謀神異端審問官1.5)   2016-10-27 16:25:00
記得順便去web板問 那邊高手也很多
作者: p52189 (鼠霸)   2016-10-27 16:27:00
請問是Web_Design板嗎?
作者: femlro (母豬教謀神異端審問官1.5)   2016-10-27 16:39:00
好像是XD
作者: max241 (養生之道)   2016-10-27 16:43:00
為什麼要寫死table 是後端生一個內容超大的table tag嗎?
作者: p52189 (鼠霸)   2016-10-27 16:45:00
對,會這樣是因為後端那部分並不是我寫的,是有前輩寫了一版,拆過來用的結果
作者: yyc1217 (somo)   2016-10-27 17:11:00
先把資料量減少到一筆 並且先不要做多餘的工作 直接印出來看看 再逐步增加筆數 和想做的js
作者: p52189 (鼠霸)   2016-10-27 17:15:00
筆數少的時候顯然比較快,不過也只知道這樣而已,再往底層的就不知從何下手了
作者: iWRZ (NE~_~RO)   2016-10-27 17:18:00
我可以說cgi嗎?(逃~)
作者: BigTounge (舌頭)   2016-10-27 19:05:00
有用track by 嗎
作者: JustGame (JustGame)   2016-10-27 19:05:00
每一個可中斷的點都 console.log 一些東西出來看?
作者: Hevak (Arthow Eshes)   2016-10-27 19:56:00
15x500是指每一筆資料有7500個cell,然後你一次要渲染7500*格x10筆?
作者: Laluth (陽光)   2016-10-27 20:43:00
參考看看吧 https://goo.gl/kYuuAC
作者: dreamnook (亞龍)   2016-10-27 21:30:00
推樓上 很有幫助
作者: enthos (影斯作業系統)   2016-10-27 21:42:00
作者: gerojeng (阿樂 - 反省再出發)   2016-10-27 22:05:00
作者: angusyu (〒△〒)   2016-10-27 22:18:00
https://goo.gl/NvpAQ0 <--- 看分數啊
作者: pttworld (批踢踢世界)   2016-10-27 22:19:00
換各家瀏覽器測試是第一步。
作者: gerojeng (阿樂 - 反省再出發)   2016-10-27 22:56:00
ajax call其實被重覆呼叫很多次?
作者: fewen (費雯)   2016-10-27 23:07:00
不要用前端處理資料啊
作者: ccas (昆蟲不一定會飛)   2016-10-28 02:38:00
http://ui-grid.info/ angular-grid 畫大table
作者: lovdkkkk (dk)   2016-10-28 13:20:00
不是很確定實際狀況 試試把 table 改 display none全跑完再把 display none 移掉
作者: Gold740716 (項為之強)   2016-10-29 01:39:00
ajax 板?
作者: TETZ (你今天宅了嗎?)   2016-10-29 04:02:00
之前遇過這問題是用transform: translateZ(0)解
作者: annua   2016-10-31 16:40:00
我之前遇到是因為雙向綁定關係,若資料是靜態,就盡量少用ng開頭的標籤,或是參考使用這個 http://github.com/Pasvas/bindonce
作者: p52189 (鼠霸)   2016-10-31 20:33:00
感謝各位,我一個個試試看

Links booklink

Contact Us: admin [ a t ] ucptt.com