View Issue Details

IDProjectCategoryView StatusLast Update
00215912.x IDE BugsImage EditorPublic2021-07-19 09:43
ReporterSam CummingAssigned ToCoreTech 
PriorityNoneSeverityC - GeneralReproducibility100%
Status ResolvedResolutionFixed 
PlatformOSWindows 8OS Version8.1 Pro
Product Version 
Target VersionFixed in Version 
Summary0021591: Image Editor: Arc Tool causes large FPS drop if a high number of points are created
DescriptionExtreme usage of the Arc tool causes a large FPS drops on two occasions.

1. If there are many points to the arc, and the arc is being dragged around, the FPS will drop significantly as it calculates the spline.

2. If there are many points to the arc, the IDE FPS will degrade due to the number of UI elements present.

After about 50 points, FPS will halve.

Extreme usage (400+ points at high iterations) causes the IDE to drop to an idle FPS of ~5fps, and active arc tool usage to ~0.9fps.

The larger the distance between each spline point, the larger the FPS drop.

Steps To Reproduce1. Create/Open a 2016 project.
2. Create/Open a sprite.
3. Open the Image Editor.
4. Enable the Debug Info view
5. Select the Arc Tool.
6. Draw many arc points, dragging them around occasionally.
7. Observe significant FPS drop.
TagsIDE, ImageEditor
2.x IDE Found In0.0.6.139
2.x Runtime Found In0.0.1.23
2.x IDE Verified In
2.x Runtime Verified In


related to 0021594 ResolvedCoreTech Image Editor: Polygon Tool causes significant FPS drop with large brushes 


Steven Campbell

2016-10-31 10:51

Manager   ~0049978


Arguably, you're using it wrong with 400+ points...
However, immediate idea is to merge each stage to a separate texture so that it's only the last two knots which are dynamic.
Problem with that is if the user then goes and tries to modify a previous knot, the whole thing needs recalculated again anyway... though I suppose it could just change the current active sets, and bake the rest.

Same thing could be applied to the Polygon tool, as it'll likely have the exact same issue.


2021-07-19 09:43

Developer   ~0066398

No longer reproduces in v2.3.3. Closing.