Opened 9 years ago

Closed 8 years ago

#12464 closed enhancement (fixed)

[patch][ccla] improve dojox.charting.axis2d.Default performance by caching gfx shapes

Reported by: cjolif Owned by: Eugene Lazutkin
Priority: high Milestone: 1.7
Component: Charting Version: 1.6.0
Keywords: 1.7-mobile Cc:
Blocked By: Blocking:

Description (last modified by Chris Mitchell)

prereqs: 12392 chart interaction

Now that interactions on the chart can be added (http://bugs.dojotoolkit.org/ticket/12392) this will be more frequent to have a dynamic axis that is re-rendered several times. This is causing slowness issues on:

  • Desktop FF 3.x
  • IE 6,7,8
  • Safari Mobile

There us not much we can do for IE, however caching the gfx shapes for FF & Safari Mobile is giving some noticeable performance gain (see [https://docs.google.com/document/d/1WM1UeXGZKgUSzL94TzRbr3dNEHiMzSJvy7pZep8yyAw/edit?hl=fr&authkey=CL7IjbIM#bookmark=id.mahfzhlpk7ay ])

This patch proposes an optional flag on the series to do this caching.

This patch contains a patch on a test/example provided by the interaction patch (thus the interaction patch needs to be applied first).

(code will be attached later)

Attachments (3)

axisperfwithoutdemo.patch (5.4 KB) - added by cjolif 8 years ago.
axisperf.patch (8.6 KB) - added by cjolif 8 years ago.
dojox.charting.axiis2d.Default.patch (441 bytes) - added by cjolif 8 years ago.
fix for typo/return type

Download all attachments as: .zip

Change History (13)

comment:1 Changed 8 years ago by Chris Mitchell

Summary: [patch][ccla] improve dojox.charting.axis2d.Default performance by chacing gfx shapes[patch][ccla] improve dojox.charting.axis2d.Default performance by caching gfx shapes

comment:2 Changed 8 years ago by cjolif

Per Eugene suggestion, I have updated the patch to use Array.pop() instead of Array.shift() in the pools.

This one can be deleted (forgot to check "replace attachment): http://bugs.dojotoolkit.org/attachment/ticket/12464/axisperfwithoutdemo.2.patch

comment:3 Changed 8 years ago by Chris Mitchell

Description: modified (diff)

comment:4 Changed 8 years ago by cjolif

It seems my new upload to include the shift->pop change did not work. I'll try to re-attached the file once more.

Changed 8 years ago by cjolif

Attachment: axisperfwithoutdemo.patch added

comment:5 Changed 8 years ago by cjolif

The shift->pop modification is now correctly in the latest patch version

Changed 8 years ago by cjolif

Attachment: axisperf.patch added

comment:6 Changed 8 years ago by Chris Mitchell

Resolution: fixed
Status: newclosed

[24538] fixes this issue. Apparently multiple ticket numers in a "fix" commit string mess up auto-closing trac tickets.

comment:7 in reply to:  6 Changed 8 years ago by Eugene Lazutkin

Replying to chrism:

[24538] fixes this issue. Apparently multiple ticket numers in a "fix" commit string mess up auto-closing trac tickets.

Sometimes the robot who updates tickets goes down.

comment:8 Changed 8 years ago by bill

Milestone: tbd1.7

comment:9 Changed 8 years ago by bill

Resolution: fixed
Status: closedreopened

The patch in [24538] has a typo:

// go out nicely instead of try/catch
if(t==null){
	this.diry = false;
	return;
}

It should be this.dirty. Also, you need to return a value, probably return this?

Changed 8 years ago by cjolif

fix for typo/return type

comment:10 Changed 8 years ago by Chris Mitchell

Resolution: fixed
Status: reopenedclosed

In [26359]:

fixes #12464 fix typo and return val in axis2d.Default. Thx cjolif @ IBM \!strict

Note: See TracTickets for help on using tickets.