There is a significant slowdown between between first and last commits in this new repo that seems to be caused by a combination of dirty rectangles and using explicitRequirements.
The slowdown is quite situational, but causes dragging elements in larger OpenPonk diagrams to degrade from quite fluent high-FPS experience to something hitting 1-3 FPS.
It is most noticable when dragging elements manually. Use RSRenderTreeExamples new example01BigVisualization131k
and try to drag a single element around. In current master (or 3a0cdc0) it is quite sluggish while in b508334 with all methods with explicitRequirements removed, it is completely fluent.
To have some automatically executed example, I created 2 examples and created 4 images based on Pharo 11.
Image "dirty-explicit" with commit 3a0cdc0 (after dirty rectangles) without any changes.
Image "dirty-cleared" with commit 3a0cdc0 with all methods with explicitRequirements removed.
Image "older-explicit" with commit b508334 (before dirty rectangles) without any changes.
Image "older-cleared" with commit b508334 with all methods with explicitRequirements removed.
There is a significant slowdown between between first and last commits in this new repo that seems to be caused by a combination of dirty rectangles and using
explicitRequirements
.The slowdown is quite situational, but causes dragging elements in larger OpenPonk diagrams to degrade from quite fluent high-FPS experience to something hitting 1-3 FPS.
It is most noticable when dragging elements manually. Use
RSRenderTreeExamples new example01BigVisualization131k
and try to drag a single element around. In current master (or 3a0cdc0) it is quite sluggish while in b508334 with all methods withexplicitRequirements
removed, it is completely fluent.To have some automatically executed example, I created 2 examples and created 4 images based on Pharo 11.
These are the two examples:
Boxes example:
Lines example:
Boxes example:
Lines example:
Code that removes those explicitRequirements: