Jump to content
You must now use your email address to sign in [click for more info] ×

Performance of the Brush Engine not competitive to other drawing / painting apps


Recommended Posts

I recently started to try to paint in Affinity Photo. I has many tools and many also work well. Features are still fewer compared to Photoshop (industry standard for illustration and concept art). That would not be a huge problem as it has other great benefits. 
One thing that is a usability killer though is the performance of the brush strokes. Most of them are just really slow (for example the "Analoge Ink Nib"), especially when creating big long strokes. It gets worse the complexer and bigger the brushes get. Thats on completely empty documents, if you have some filter or other things applied it often stutters...
It makes the whole experience quite tedious and unintuitive, which is the last thing you want for drawing and painting.
That is something that has to be adressed to be able to compete with Photoshop, Krita (free) or Procreate (practically free)...

Best

Link to comment
Share on other sites

1 hour ago, josbin said:

the performance of the brush strokes. Most of them are just really slow (for example the "Analoge Ink Nib"), especially when creating big long strokes.

I've never used this brush yet, so I just tried.
I'm not noticing any lag.

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

17 minutes ago, loukash said:

I'm not noticing any lag.

Speaking of which…
While I was painting those "big strokes" in APh, at the same time my M2 MacBook was in fact downloading the MacOS 13.6.1 update in the background and preparing it for install, with CPU usage peaking at 400% out of 800, i.e. 4 CPU cores were in full use elsewhere while I was painting, nota bene using an almost 20 years old Wacom tablet running on my Mac with hacked drivers.
No lag whatsoever.

(Yes, I remember experiencing lags when using brushes. That was 2016 with APh v1.4 running on MacOS Mountain Lion. Not that Photoshop CS5 was any better though…)

1 hour ago, josbin said:

That is something that has to be adressed

You should post your exact setup, i.e. your computer hardware and OS details. 

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

Hey Loukash

Sorry for only answering now. Here are some Videos trying to create a comparison on a document I am currently working in. As the Brush Engine is not the same it's always apples to oranges but I think its still showing the issue. I tried to pick two similar brushes. But as is visible in the recording it is obvious that Affinit Photo is struggling.

This recording is done on a HP Zbook Studio G9 16" with Intel Core i9-12900HK and RTX3000 mobile on Windows 10, I have similar Issues with my workstation with a Threadripper 3960X and a RTX 3090. I would say this exceed average specs and should be similiar performance on single core as your M2 CPU.

Affinity Photo Version 2.2.1
Photoshop Version 25.1.0

The Document is only 890px wide... Maybe the performance depends  a lot on the document, how many layer, filters, etc (exclduing size with is most important but it is not an issue in my recording) 

 

Brush Setting.png

Bacteria.afphoto

Link to comment
Share on other sites

11 minutes ago, Hilltop said:

I also notice a lag in APh brushes that I don't see in, e.g., Xara Designer Pro. Funny thing is, I don't see this lag in Affinity Designer neither in the vector nor pixel persona. 

I do experience the same lag in Designer. Just as side note :)

Link to comment
Share on other sites

  • Staff
5 hours ago, josbin said:

This recording is done on a HP Zbook Studio G9 16" with Intel Core i9-12900HK and RtX4000 mobile on Windows 10, I have similar Issues with my workstation with a Threadripper 3960X and a RTX 3090

Can you open Edit > Settings > Performance and provide a screenshot of your settings here for me?

Your brush within Affinity has 'Wet Edges' enabled, which introduces transparency into the brush stroke and can affect the brushes performance.
If you disable 'Wet Edges' on the Context Toolbar for this brush, do you see better performance? :)

Link to comment
Share on other sites

Hey Dan,

I just remembered, that I had another issues with the OpenCL Setting and disabled it and now it is blazingly fast! So thanks fpr the hint!
But why is it slower with OpenCL Compute acceleration than without? 
Here were the original settings: image.png.0007802be1c67b960dc4b23ea5da272d.png

Link to comment
Share on other sites

There has always been inconsistent performance with the brush engine. It's improved over the years, but it's still not consistent enough for things like heavy amounts of rendering. It is better for mark-making, etc than long sustained rendering sessions, if this makes sense. I use other programs for painting compositions because at least if I encounter lag, it's generally fixed with a reduced brush size and I don't have to worry about specific environments or calibrated settings. I also cannot always have two views activated for certain brush types. Whereas in the other program I work in, I almost always have another window open with a zoomed out view. It just works.

Link to comment
Share on other sites

  • Staff
40 minutes ago, josbin said:

I just remembered, that I had another issues with the OpenCL Setting and disabled it and now it is blazingly fast! So thanks fpr the hint!

No problem at all, thanks for confirming that for me, as my suggestion was to disable this option!

38 minutes ago, josbin said:

But why is it slower with OpenCL Compute acceleration than without? 

Hardware Acceleration uses OpenCL to render the canvas in Affinity, though as I understand it, this option works best with more recent hardware / more VRAM for the GPU.

Therefore some users may find enabling this actually decreases perceived performance, depending on the system specs, the document size, the tools in use etc.

We also recommend ensuring your GPU drivers are fully up-to-date, directly from Nvidias website, as outdated GPU drivers can cause issues within Affinity, both with OpenCL enabled & disabled :)

Link to comment
Share on other sites

Cool, thanks for the help!

But I highly doubt that my Hardware can be considered outdate (drivers are up to date as well). So there has to be an issue with OpenCL implementation or OpenCL in itself. What is it used for if not for brushes itself? And isnt the general assumption that tasks that can be run by the GPU should be running faster than on the CPU? I am confused.... :D
Anyways not important, just a general wondering :)

Link to comment
Share on other sites

  • Staff
6 minutes ago, josbin said:

But I highly doubt that my Hardware can be considered outdate (drivers are up to date as well). So there has to be an issue with OpenCL implementation or OpenCL in itself

In your specific scenario, I would agree that the hardware is not 'outdated'. I suspect using an 'A' series Workstation GPU is the cause of this in Affinity - as I believe our dev team are aware that these are not as refined for OpenCL acceleration within the app, and this is something we hope to address in the future.

9 minutes ago, josbin said:

What is it used for if not for brushes itself?

As can be seen from the helpfile linked in my previous comment, Hardware Acceleration benefits most raster-based tasks within Affinity. This includes Painting with the Paint Brush Tool, Live Filters, RAW development etc.

12 minutes ago, josbin said:

And isnt the general assumption that tasks that can be run by the GPU should be running faster than on the CPU?

This depends entirely on the task at hand, and the users system. Generally I would agree that enabling GPU acceleration would perform raster based tasks faster than the CPU, but CPU processing has improved drastically over the past few years - meaning this is not always the case. 

Equally, as I understand it, disabling Hardware Acceleration doesn't entirely stop the GPU from being used to render the canvas within the app, but will stop the 'OpenCL' framework from being used, when rendering the canvas.

I believe it's this specific framework (and it's implementation within Affinity) that can cause issues with the rendering speed, not directly the use of the GPU by the Affinity app to display the canvas etc :)

Link to comment
Share on other sites

10 minutes ago, Dan C said:

In your specific scenario, I would agree that the hardware is not 'outdated'. I suspect using an 'A' series Workstation GPU is the cause of this in Affinity - as I believe our dev team are aware that these are not as refined for OpenCL acceleration within the app, and this is something we hope to address in the future.

As can be seen from the helpfile linked in my previous comment, Hardware Acceleration benefits most raster-based tasks within Affinity. This includes Painting with the Paint Brush Tool, Live Filters, RAW development etc.

This depends entirely on the task at hand, and the users system. Generally I would agree that enabling GPU acceleration would perform raster based tasks faster than the CPU, but CPU processing has improved drastically over the past few years - meaning this is not always the case. 

Equally, as I understand it, disabling Hardware Acceleration doesn't entirely stop the GPU from being used to render the canvas within the app, but will stop the 'OpenCL' framework from being used, when rendering the canvas.

I believe it's this specific framework (and it's implementation within Affinity) that can cause issues with the rendering speed, not directly the use of the GPU by the Affinity app to display the canvas etc :)

Thanks for this thorough answer, really appreciate it! 

I will definetly test it on my RTX 3090 station to see if the A Series is any different from Geforce Series GPUs. 

Thanks again!

Link to comment
Share on other sites

I just tested it on my Machine Running Windows 10 with a Threadripper 3960X and an RTX 3090: 
The Brush Engine is way Faster on my 3090 then on the A3000 Mobile, but even then I can fell I tiny Lag. When I disable the OpenCL Compute it is even faster though. So I dont really see the point of this Option so far :D

Just as a side note :)

Link to comment
Share on other sites

On 11/2/2023 at 4:23 PM, josbin said:

Hey Dan,

I just remembered, that I had another issues with the OpenCL Setting and disabled it and now it is blazingly fast! So thanks fpr the hint!
But why is it slower with OpenCL Compute acceleration than without? 
Here were the original settings: image.png.0007802be1c67b960dc4b23ea5da272d.png

Because without OpenCL it runs on the CPU. My guess is that your CPU is slower than the GPU which OpenCL enables (your GPU name suggests it being a laptop GPU, thus making it less performant than some of the desktop options). On my PC rig the CPU runs significantly faster than the GPU because of bugs with OpenCL. From personal experience Affinity scales really well with CPU power (I run an AMD Ryzen 9 5950x), much better than Photoshop and Krita by a significant margin.

That said, GPU acceleration is the standard for running painting programs, so that's what Affinity needs to be compared to. I heard on Mac that Affinity runs buttery smooth because of Metal GPU acceleration, but on Windows the performance of OpenCL is still to be desired.

Link to comment
Share on other sites

18 hours ago, josbin said:

I just tested it on my Machine Running Windows 10 with a Threadripper 3960X and an RTX 3090: 
The Brush Engine is way Faster on my 3090 then on the A3000 Mobile, but even then I can fell I tiny Lag. When I disable the OpenCL Compute it is even faster though. So I dont really see the point of this Option so far :D

Just as a side note :)

Yeah, so you have basically the same observations as I have had on my rig, except I run a 3060. I leave it off for this reason.

Link to comment
Share on other sites

  • 4 months later...

The lag really is bad when using pencil or brush on any of the apps. I can draw with clipart studio no problem with zero lag. If you're using a 3090 or even a  3040 to be able to draw  with pencil or bruth then it's way overkill. We need the performance back we had in v1. The minum standard should be able to use at least a surface pro go 2 (it's prefect sketch size) without having to wait 2-5 mins after a long pencil or brush line. While drawing on clip art studio I can draw for hrs with no lag in brush. Due to this I can't really draw pressure based lines since it will lag, so I have to draw with clip art studio for now until it gets fixed.

 

Link to comment
Share on other sites

On 3/21/2024 at 2:19 PM, Just a Creative said:

The lag really is bad when using pencil or brush on any of the apps. I can draw with clipart studio no problem with zero lag. If you're using a 3090 or even a  3040 to be able to draw  with pencil or bruth then it's way overkill. We need the performance back we had in v1. The minum standard should be able to use at least a surface pro go 2 (it's prefect sketch size) without having to wait 2-5 mins after a long pencil or brush line. While drawing on clip art studio I can draw for hrs with no lag in brush. Due to this I can't really draw pressure based lines since it will lag, so I have to draw with clip art studio for now until it gets fixed.

 

Old thread, but in case you still have the problem.

Do you have Open CL hardware acceleration selected.... It makes a great difference having it disabled. Even with a 3060, if I leave it on, it will lag.

Also, it works better for me to NOT use 'Windows Ink' setting in preferences/tools, but instead, "high precision", and also disable in your Wacom (or other brand) panel (outside Affinity, on Windows) , in the profile you created there for Affinity (whichever the app, this works the same for the 3) , specifically in the "proyection" tab (in Wacom's), where it might be checked "Windows Ink". The brush typically goes more fluid for me by doing so, and more importantly, the software is more stable and with no glitches, once I disable that. YMMV, as this issue that's not happen in every system, but it's a good measure to try.

The Open CL acceleration is IMO better turned off in most cases.

Fast note: I was able to get fluid painting with just a dirty cheap nvidia 1650. the key is that AMD GPUs don't play well with Affinity, and is not Affinity's fault, but bugs on the AMD's drivers, as has been discovered. My advice is to use though a 3060. They are kind of cheap now, and in my 3900X (becoming old, now.. single CPU scores are much higher with just a Ryzen 5600) with a nvidia 3060 provides me with absolutely fluid painting, even with large and complex (oil, etc) brushes in Affinity Photo.

Some settings in the brush can slow it down (this is not unique of Affinity, but very noticeable) a lot. Like... careful with the"spacing" value. The bigger the value, the faster. But careful not to be it so much that you start seeing the dotted line or patter repeating strokes. 

Certain dynamics in the brush tab for that might affect, too. Playing with  that is how you can achieve ultra fast brush painting, provided  you first took care of what I mentioned above. 

I paint with no lag in Adobe RGB color space (wider gamut), 16bits/channel (as gives better gradients, better transitions, but it is taxing for a mid range machine like a Surface Pro really is -compromise for being portable and everything-). 

Many apps are using GPU these days for the brush. So many... Photoshop, since a while, is almost useless without a 2GB VRAM video card and with certain benchmark, below that you are painting with lag. PaintTool Sai (extreme performance with large canvases and large brushes, best in that) and ClipStudio use the CPU for almost everything. That's the difference you notice, as the Surface Pro doesn't have a real GPU. Corel Painter and PaintStorm Studio use very heavily the GPU. Corel Painter even makes you run a benchmark just first time you run the program, to let you know if you are going to able to paint or not, depending on your hardware...

But I think you can try all that and get fluid painting in The 2.x Affinity apps.

AD, AP and APub. V1.10.6 (not using v1.x anymore) and V2.4.x. Windows 10 and Windows 11. 
 

 

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.