Jump to content

Affinity Designer v1 and v2 hang when sketching with pressure-sensitive pencil


toj

Recommended Posts

This happened very reliably using v1 on my old 2012 MacBook, but I recently bought an M2 Mac Mini (16gb RAM) and was sad to see it still happens in v1.10.6 and the v2.1.1 trial under the latest Mac OS 13.5.

I'm using an Intuos tablet. To recreate:

  1. Create a new document.
  2. Select pencil and set Controller to "Pressure"
  3. Sketch away

Sometimes it only takes a couple of dozen strokes, sometimes a few hundred. It doesn't happen as reliably in v2, so maybe something did change between the versions.

I haven't seen the hang triggered when:

  • Controller is set to "None"
  • Controller is set to "Pressure", but strokes are made with a non-pressure-sensitive mouse

So, it seems it's only triggered when variable-width strokes are being drawn to the screen. I tried setting Controller to "Automatic" and was able to get a hang in v1, but I haven't seen one in v2 yet (but this could just be v2's overall improvement in reliability). I've tried using Metal instead of OpenGL rendering in both versions and haven't seen any difference in frequency. I only tried software rendering once in v2 and it hung after a few dozen strokes.

I can post the OS-generated reports if needed (I've already sent dozens to Apple). Using all versions and renderers, the tail end of the "heavy stack" looks something like this:

  65  Affinity::LegacyDocumentViewController::MouseUp(Kernel::Counted<Tool>, Kernel::PointT<float> const&, ToolPointView const&, unsigned int) + 400 (liblibaffinity.dylib + 1813136) [0x10c686a90]
  65  Tool::MouseUp(ToolPointView const&, unsigned int) + 968 (liblibpersona.dylib + 14148792) [0x12cb3e4b8]
  65  HandleTool::OnEndDrag(ToolPointSpread const&) + 388 (liblibpersona.dylib + 38360520) [0x12e2555c8]
  54  PencilTool::PencilHandle::OnEndDrag(HandleTool&, ToolPointSpread const&) + 2612 (liblibpersona.dylib + 90372016) [0x1313ef7b0]
  44  Geometry::CurveDbl::ExpandAdaptive(Geometry::PolygonType<double>&, double, Kernel::RectT<double> const*, bool*, bool) const + 1268 (liblibgeometry.dylib + 1275440) [0x1068c7630]
  17  Geometry::CurveSegmentCubicBezier::Expand(Geometry::PolygonType<double>&, double, Kernel::RectT<double> const*, bool*, int) const + 400 (liblibgeometry.dylib + 1086264) [0x106899338]
  4   Geometry::CurveSegmentCubicBezier::IsLinear(double, Kernel::RectT<double> const*, bool*) const + 228 (liblibgeometry.dylib + 1129112) [0x1068a3a98]

 

Link to comment
Share on other sites

  • Staff

Hi @toj,

I've not been able to replicate this at any point during my tests unfortunately, the pencil continued to work as expected via an Intuos PS pen tablet input with the controller set to Pressure (I've been mainly focusing the tests in V2, as V1 is no longer receiving non-critical updates).

You mentioned that you've tried the different display renderer options available, have you tried toggling Hardware Acceleration and then comparing the difference? (Make sure to restart the app between changes for them to take effect)

Have you also tried re-installing the tablet drivers?

It's also interesting that you mention that this hasn't happened (so far) with the controller on automatic, as when using a tablet pen this should still be using a pressure profile, since the controller responds to the input device.

Link to comment
Share on other sites

Thanks for giving it a try. In v1, I get a hang within a couple hundred strokes on every document I create. If that doesn't happen to anyone else, it could be an issue with my tablet (I don't have a second one to test against).

The new machine is running newly downloaded drivers, and the behavior is identical to the old (except I haven't downloaded the v2 trial on the MacBook). I disabled "Metal compute acceleration" in both v1 and v2 and was still able to trigger a hang. As expected, I was able to get "Automatic" to hang in v2, it just took quite a few documents and quite a few strokes.

Like I mentioned, the logs between v1 and v2 are similar, so even if v1 isn't going to be fixed, its hangs probably have the same root cause (assuming the "root" isn't a hardware glitch with this one tablet) and are much easier to trigger.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.