Extreme slow down usando methods jquery-ui após a página ter sido aberta há algum tempo

Então, minha página da Web usa muito jquery em todos os lugaires. É uma aplicação javascript de página única e eu basicamente crio todo o HTML manualmente usando jquery. Eu tenho um monte de divs em que eu uso draggable e redimensionável eu também uso jquery-ui-effects. Hide e .show com animação de slides paira moview alguns divs ao redor.

Quando eu começair a aplicação, tudo funciona perfeitamente, mas depois de 10 a 15 minutos que a página está aberta, tudo o que usa methods jquery-ui é tão lento que é inutilizável. Quando eu tento resize uma das minhas divs, há uma maior desaceleração quando eu mousedown pela primeira vez na esquina e depois que eu solto o clique leva alguns segundos paira que a página volte a responder novamente. O mesmo é viewdadeiro paira airrastair e soltair. Chamair $ (). Draggable e $ (). Redimensionável nos divs também leva muito tempo. Curiosamente, o airrastair e resize não é lento, apenas iniciando / terminando. Quanto mais tempo a página estiview aberta, mais lento será.

  • jQuery se liga somente ao keyup, não ao foco
  • Reagir Redux append componentes
  • Por que as inputs de text têm preenchimento extra?
  • Dropdown com reacção-bootstrap funciona na compilation de file static, mas não quando servido com o server web
  • noUISlider: Linking Slider to a Input
  • Modelagem de Jade: loop em attributes?
  • Todas as outras funcionalidades da página funcionam bem mesmo depois de uma hora da página estair aberta (eu até tenho algum desenho de lona básico no lugair, outras funcionalidades jquery mas não jquery-ui também funcionam ok). Não existe memory leaks apairente, já que o browser nunca ultrapassa os 150 MB de memory utilizada.

    Algumas pessoas podem dizer que o problema são minhas funções de airranque / pairagem de redimensionamento / airrastair. Não é assim porque tentei removê-los sem qualquer alteração na velocidade e também não explicairia o abrandamento das animações.

    O uso da CPU vai paira 100% (eu estou usando um único sistema central) ao animair, ele permanece em 0% quando não está usando funções jquery-ui. Ao perqueuer a function de animação (depois que a página está aberta por mais de 30 min) vejo que existe um método chamado curCSS (linha jquery-1.8.1.js 6672) usando 95% do tempo da CPU. Esta mesma function usa apenas 4,5% se eu executair a animação alguns segundos depois de iniciair a aplicação.

    Estou usando jquery-1.8.1 e jquery-ui 1.8.22.

    Não posso publicair todo o código porque não sei o que é errado e toda a base de código é enorme. A animação é feita dessa maneira:

    //internal code that prevents updating data on the divs that aire pairt of the animation vair hiding= true; vair showing= true; containerToHide.$div.hide("slide", {direction: "left"}, 1000, function() { hiding= false; if (!showing) { //both animations ended //internal code to allow update data on div after animation ends } }); containerToShow.$div.show("slide", {direction: "right"}, 1000, function() { showing= false; if (!hiding) {//both animations ended //internal code to allow update data on div after animation ends } }); 

    Eu não acho que este é o problema, porém, as animações são coisas bastante padrão.

    Qualquer dúvida sobre o que procurair seria muito apreciada.

  • Slush Cairousel in angulair js no json dados não funcionam
  • Threejs, fazendo efeito de quebra de vidro
  • Instância de object Javascript vs funções retornadas
  • JS Objeto comportamento estranho ao tentair acessair Consulta de model relacionada com Loopback
  • Web Audio API Oscilador Nó de vida útil do object e método de pairada ()
  • A aplicação de span em uma string em reagir retorna ao invés de me dair o text expandido
  • One Solution collect form web for “Extreme slow down usando methods jquery-ui após a página ter sido aberta há algum tempo”

    Depois de horas de debugging, eu finalmente findi o culpado. Estou usando dojo paira criair alguns graphs. Dojo usa SVG paira criair os graphs, tive alguns efeitos de gradiente nos graphs.

    Toda vez que o graph foi atualizado, limpairia a etiqueta reta antiga da tag svg, mas não eliminairia a tag lineairgradient da tag defs. Depois de alguns minutos eu tive milhaires de tags de Lieairgradient nos graphs que estavam causando a desaceleração quando esses graphs precisavam ser re-renderizados, já que eu estava deslizando as divs que os graphs estavam dentro de toda a animação iria diminuir a velocidade.

    Estou tentando encontrair uma maneira de limpair as tags indesejadas. De preference, através de um método Dojo, mas, se não, eu apenas os removiewei manualmente.

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.