Changeset 12809


Ignore:
Timestamp:
Aug 31, 2011, 12:09:21 AM (10 years ago)
Author:
jordan
Message:

try to avoid unnecessary reflows in two more ways: (1) use jQuery.css() to set a batch of style properties at once, instead of doing it one at a time (2) when appending rows to the torrent list, use a document fragment to batch them into a single append.

Location:
trunk/web/javascript
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/web/javascript/torrent-row.js

    r12805 r12809  
    7171TorrentRendererHelper.renderProgressbar = function(controller, t, progressbar)
    7272{
    73         var e;
    74         var display;
    75         var info = TorrentRendererHelper.getProgressInfo(controller, t);
     73        var e, style, width, display,
     74            info = TorrentRendererHelper.getProgressInfo(controller, t);
    7675
    7776        // update the complete progressbar
    7877        e = progressbar.complete;
    79         if (info.percent > 0) {
    80                 display = 'block';
    81                 e.style.width = '' + info.percent + '%';
    82         } else {
    83                 display = 'none';
    84         }
    85         if (e.style.display !== display)
    86                 e.style.display = display;
     78        style = e.style;
     79        width = '' + info.percent + '%';
     80        display = info.percent > 0 ? 'block' : 'none';
     81        if (style.width!==width || style.display!==display)
     82                $(e).css({ width: ''+info.percent+'%', display: display });
    8783        if (e.className !== info.complete)
    8884                e.className = info.complete;
  • trunk/web/javascript/transmission.js

    r12808 r12809  
    19411941        refilter: function(rebuildEverything)
    19421942        {
    1943                 var i, e, id, t, row, tmp, rows, clean_rows, dirty_rows,
     1943                var i, e, id, t, row, tmp, rows, clean_rows, dirty_rows, frag,
    19441944                    sort_mode = this[Prefs._SortMethod],
    19451945                    sort_direction = this[Prefs._SortDirection],
     
    20092009                var ci=0, cmax=clean_rows.length;
    20102010                var di=0, dmax=dirty_rows.length;
     2011                frag = document.createDocumentFragment();
    20112012                while (ci!=cmax || di!=dmax)
    20122013                {
     
    20332034                                        list.insertBefore(e, clean_rows[ci].getElement());
    20342035                                else
    2035                                         list.appendChild(e);
     2036                                        frag.appendChild(e);
    20362037                                rows.push(row);
    20372038                        }
    20382039                }
     2040                list.appendChild(frag);
    20392041
    20402042                // update our implementation fields
Note: See TracChangeset for help on using the changeset viewer.