dc-js/dc.js

Brushing/filtering issue since 4.1.0 - Broken example

Frozenlock opened this issue · 6 comments

I'm updating from v3 to v4.
I've updated D3 to d3@5.16.0.
In the process of slowly increasing DC versions, I noticed a problem introduced in 4.1.0 which is still present in 4.2.7.

For brushing, the animation slows to a crawl.
It looks like the filtering function is being called continuously:

image

This video shows the speed of a normal filter, then of a ranged filter:

filter-problem.webm

Broken Example

It looks like the same issue is occurring with one of the examples:
https://dc-js.github.io/dc.js/examples/brush-ordinal-dynamic.html

Many thanks for the detailed report. I will look into this.

Any news on this? My short-term memory won't be able to hold onto it for long... 😅

I remembered seeing this issue a couple of years back on the same example. I checked my notes, and we had noticed it with a version upgrade of D3. With my limited knowledge of D3, I could not track down the underlying cause,

This example is convoluted, as it relies on the internals of dc. In the next version, dc is getting refactored significantly, which allows this feature to be achieved differently - actually far less convoluted (https://dc-js.github.io/examples/brush-ordinal.html). The new approach does not suffer from this issue. Unfortunately, that approach may not be implementable in the current released version of dc.

In summary, we do not have a solution for this issue for dc v4. For the next version, there is a better way that does not suffer from this issue.

We are targeting an alpha of the next version in a couple of weeks.