What kind of system are you testing on? What kind of processor for instance?
> Errors-To: [EMAIL PROTECTED] > X-BeenThere: [EMAIL PROTECTED] > X-Mailman-Version: 2.0.5 > Precedence: bulk > List-Help: <[EMAIL PROTECTED]?subject=help> > List-Post: <[EMAIL PROTECTED]> > List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/dynapi-dev>, > <[EMAIL PROTECTED]?subject=subscribe> > List-Id: <dynapi-dev.lists.sourceforge.net> > List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/dynapi-dev>, > <[EMAIL PROTECTED]?subject=unsubscribe> > List-Archive: <http://www.geocrawler.com/redir-sf.php3?list=dynapi-dev> > X-Original-Date: Fri, 26 Oct 2001 18:16:58 +0200 > Date: Fri, 26 Oct 2001 18:16:58 +0200 > > Hi, > While making a more powerful tree-view code, I was making a Litelayer, that > doesn't have any events etc, but renders much faster, and I noticed that > there is a way to speed up the initial creation of dynlayers too. > > I got it working on browsers supporting getElementById only, others remain > at the same speed (although document.all should work too) > > What it is, is if you remove these lines from specificCreate(): > // this.elm=parentElement.children[parentElement.children.length-1]; > // this.css=this.elm.style; > // this.doc=this.parent.doc; > > the rendering of 1000 layers goes from 8.6 seconds to 5.4 seconds. (the > liteLayer does it in 3.7 sec) > > the more layers, the bigger the difference. > > Now of course we need this.elm to be set, but only if we are going to > manipulate a layer. So, if we add something like this: > > DynLayer.prototype.getValues=function() { > if(document.getElementById) { > this.elm=document.getElementById(this.id) > if(this.elm){ > this.css=this.elm.style; > this.doc=this.parent.doc; > this.css.zIndex=this.z; > > this.frame=this.parent.frame > this.elm.lyrobj=this; > return true > }else{ > return false > } > } > } > > this would set the this.elm variable, if it hasn't been set, and return true > or false, depending on whether the object had been created yet. > > so in places that now contain the check: > > if (this.css==null) return; > or > if (this.elm==null) return; > > we could do this: > if (this.getValues()==false) return; > > The whole thing means code like this: > > myDynLayer = new DynLayer(null,50,35,300,30,"yellow") > myDynLayer.setHTML("hi") > DynAPI.document.addChild(myDynLayer) > > would render faster than code like this: > > myDynLayer = new DynLayer(null,50,35,300,30,"yellow") > DynAPI.document.addChild(myDynLayer) > myDynLayer.setHTML("hi") > > Does anyone see any problems in this approach? > > Cheers, > Richard. > www.richardinfo.com > > > > _______________________________________________ > Dynapi-Dev mailing list > [EMAIL PROTECTED] > http://www.mail-archive.com/dynapi-dev@lists.sourceforge.net/ _______________________________________________ Dynapi-Dev mailing list [EMAIL PROTECTED] http://www.mail-archive.com/dynapi-dev@lists.sourceforge.net/