[Sie-announce] SIEコード [2348] バッファリングにためこむことによって、画像の処理を軽くした

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2011年 1月 31日 (月) 23:27:27 JST


Revision: 2348
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2348
Author:   dhrname
Date:     2011-01-31 23:27:27 +0900 (Mon, 31 Jan 2011)

Log Message:
-----------
バッファリングにためこむことによって、画像の処理を軽くした

Modified Paths:
--------------
    branches/06x/069/org/w3c/dom/svg.js

Modified: branches/06x/069/org/w3c/dom/svg.js
===================================================================
--- branches/06x/069/org/w3c/dom/svg.js	2011-01-31 12:41:58 UTC (rev 2347)
+++ branches/06x/069/org/w3c/dom/svg.js	2011-01-31 14:27:27 UTC (rev 2348)
@@ -1675,15 +1675,35 @@
         }
       }
       s.defaultView._cache = s.defaultView._cache_ele = null;
-      s = evt = objei = tar = tview = objw = objh = n = att = sdt = sp = dcp = backr = w = h = sw = sh = null;
+      evt = objei = tar = tview = objw = objh = n = att = sdt = sp = dcp = backr = w = h = sw = sh = null;
       trstyle = tpstyle = backrs = viewWidth = viewHeight = text = bfl = bft = bl = bt = backdown = backright = null;
       /*IEのメモリリーク対策として、空関数を入力*/
       this.xmlhttp.onreadystatechange = NAIBU.emptyFunction;
       alert(+(new Date()) - dsd.getTime())
       if (this._next) {
+        s = null;
         this._next._init();
       } else {
         /*全要素の読み込みが終了した場合*/
+        if (s.implementation._buffer_) {
+          /*以下はバッファリングにためておいた要素とイベントを、処理落ちのために後から実行する*/
+          Event._buff = setInterval(function(){
+            if (DOMImplementation._buffer_.length === 0) {
+              clearInterval(Event._buff);              
+            }
+            for (var i=0;i<50;++i) {
+              var s = DOMImplementation._buffer_.shift(), evt = DOMImplementation._buffer_.shift();
+              s.dispatchEvent(evt);
+              s = evt = null;
+              if (!DOMImplementation._buffer_[1]) {
+                clearInterval(Event._buff);
+                DOMImplementation._buffer_ = null;
+                return;
+              }
+            }
+          }, 1);
+        }
+        s = null;
         NAIBU.Time.start();
         delete NAIBU.doc;
       }




Sie-announce メーリングリストの案内
Back to archive index