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; }