始终运行的 Web 应用程序上的动画滞后和性能问题
Animation lag and performance issues on web application that is always running
我正在开发的Web应用程序相当典型。MySQL存储数据,PHP检索,jQuery使其看起来不错,AJAX使其异步。
我的客户端只使用 FireFox,并且 Web 应用程序可能 24/7 全天候开放。该应用程序可能会在几个小时内请求大量数据,并不断更新页面上的大型表格。我注意到FireFox在一小时内,jquery动画(即使是最简单的动画(将开始滞后。我已经确认这是原因(浏览器打开的很长时间(,因为启动一个新的浏览器可以解决这个问题。
我已经阅读了一些关于FF垃圾收集器不适合其JS引擎的内容,但我真的不知道这是否是问题所在。我正在寻找有关如何处理这种情况的任何一般指导。
谢谢
您没有提供任何代码,但我怀疑这是setInterval
(在评论中提到(的组合使用导致问题的 Ajax 调用。
如果我做对了,您会在间隔函数(CASE 1(中不断触发异步 AJAX 调用。或者,您正在为 ajax 调用生成的每一行触发一个间隔函数 (CASE 2(。
如果它的 CASE 1(AJAX 在 setInterval 内(而不是 不要 - 你很快就会用 ajax 调用淹没你的页面(使用 firebug 查看调用列表(......在这种情况下,您可以使用递归 AJAX 函数,该函数将在完成后调用它 self。
如果它的 CASE 2 - 您提到 1ms 的间隔和每次调用 0-100 行的比率(假设 50(,再次,您正在创建很多函数,并且正在将系统(内存,GC,循环处理程序(投入艰苦的工作中,这可能会导致页面挂起和滞后...在这种情况下,请考虑使用"池"对象您的行将被临时存储,只有一个永久间隔函数,它将逐个抓取行并以您想要的速率将它们绘制到页面(不要忘记从 pool 对象中删除行(。
如果这些情况与您的方法不匹配,请考虑向我们展示您的代码或有问题的页面。
关于 24/7 和表的增长:
您应该考虑分页机制或页面刷新策略,因为页面越大,它需要的内存就越多 - 您正在生成一个增长非常快的表,没有人可以处理、读取、理解该数据量(以 1ms ~ 1 新行的速率(。 你应该是专业的,并采取一种更"用户友好"的方法,也许可以实现无限滚动样式来加载新行或转储旧行。
- 如何设置html元素填充的动画
- 如何使用动画实现纸张推车
- Javascript:为什么我的Raphaeljs动画滞后?它'It’s甚至不一致
- 选择2.js和jQuery幻灯片动画滞后/抖动
- 始终运行的 Web 应用程序上的动画滞后和性能问题
- Javascript:悬停时滞后;制作幻灯片动画
- Javascript:带有参数的函数会导致动画滞后
- 淡入淡出背景颜色更改动画会滞后并减慢速度
- "滞后“;魔兽世界动画网站
- HTML动画,无滞后
- 如何使Vanilla Javascript动画不那么滞后
- scrollTop动画在chrome中是滞后的,但在firefox中工作得很好(背景尺寸:封面问题?)
- HTML5/JavaScript游戏在制作动画时的严重滞后
- SVG动画在调整大小后非常滞后(专家)
- JavaScript动画在几个循环后滞后
- jQuery动画意外滞后
- 画布外 - 左侧导航栏动画在关闭时非常跳跃/滞后
- 为什么我的jQuery SlideDown动画滞后/跳跃
- 动画图像数组滞后
- 动画:jQuery VS CSS:jQuery滞后,为什么?-jsFiddle比较/示例