Jump to content

Recommended Posts

Hi, I've read that Affinity Photo has support for GPU acceleration since a couple of years ago. However, on my MacBook Pro 2018 with Intel Iris Plus Graphics 655, the GPU is not being activated at all (watching Activity Monitor side-by-side with AP), it is idle on 0%. The CPU is going through the roof, with AP using several hundred % at most.

I have tried to tinker with the performance settings but the GPU is never activated. I have tried several tools, for instance brushing and more intensive tasks like HDR merge of large RAW files. The latter is taking about 20-30 seconds to complete and never touches the GPU.

Is this a bug, or is the GPU acceleration only used on some configurations? Any help is greatly appreciated as I think some tasks can be sped up quite a lot.

Link to post
Share on other sites

Thanks, but the hardware acceleration was already enabled. I tried to disable and enable again, with no change.

I tried to time an HDR merge of five RAW files now. The duration is exactly the same with and without the hardware acceleration turned on. It actually takes 1 min 5 sek.

Anything to help fix this issue?

Link to post
Share on other sites

I’m not so sure that your expectation is how this sort of acceleration works. My current understanding is that it’s about how smoothly your display responds and redraws the image on screen as you manipulate it with Live Filters, use brushes, etc. Merging files for HDR work may simply be very processor-intensive, with little to do with the GPU. 

But perhaps someone with more insight on this can assist.

 

Link to post
Share on other sites

We just do not now for what Affinity uses Metal hardware acceleration. It should be more that just screen redraw.

"On Mac computers end-to-end Metal compute acceleration takes advantage of Apple's discrete GPU, resulting in a 10x speed increase for all raster layer and brush operations." says Affinity ad.

See also: https://affinity.help/photo/en-US.lproj/index.html?page=pages/Extras/hardwareAcceleration.html?title=Hardware acceleration

which says: 

Hardware acceleration is enabled by default. If you experience poorer performance than expected, try disabling it to see if CPU-based processing works better on your system. CPU and GPU performance can be numerically compared using Affinity Photo’s built-in benchmark.

Benefits
In practice, the performance boost depends on the task at hand.

Hardware acceleration is of great benefit to many raster-based tasks. Vector operations and specific features like blend ranges are performed on the CPU.

Tools, adjustments, filters and other operations including RAW development will use GPU resources to achieve improved performance.

The benefits are especially noticeable when stacking several Live Filter Layers together—export times are significantly quicker and canvas previewing is snappier.

I have check how my Radeon WX behaves in my other system. I have checked Affinity recognizes it at least.

Link to post
Share on other sites

In addition to what has already been said, switching hardware acceleration on allows the software to use any acceleration techniques it has been programmed with (if the hardware is compatible with that programming).
However, if a certain function has not been programmed to take advantage of hardware acceleration then you will see no benefit from switching it on when using that function.
In other words, if you enable hardware acceleration and your GPU is not being used when you use a specific function then that function has probably not been programmed to take advantage of hardware acceleration.
There is nothing we users can do about this.

Link to post
Share on other sites

As an easy test for the OP, it may be helpful to test the sort of features being tested in the @James Ritson's video which I shared. Try several Live Filters and/or brush operations both with and without hardware acceleration, and see what the Activity Monitor reports. At least you'll know if your system is operating properly with Affinity Photo. 

Link to post
Share on other sites

Just did a very quick and unscientific investigation...

Like @Norway16 I have a 2018 MacBook Pro, albeit with a Radeon Pro Vega 20 GPU. My Affinity Photo performance settings are as follows: 

643692551_Screenshot2021-02-24at11_55_44.png.c306b931bcaf3bdf52e72e15e38396f7.png

You might want to ensure that "Use only integrated GPU" is turned off.

And in System Preferences/Battery:

808571902_Screenshot2021-02-24at11_58_14.png.1a92bebc02789bc92102cca4130a8dee.png

Automatic graphics switching is on. (Same for Power Adapter but I'm currently unplugged.)

If I run Activity Monitor and Affinity Photo side-by-side and use a high-demand live filter as in the linked video, the GPU will kick in if and when it needs to (eg when rotating a live Motion Blur filter). It's certainly not on all the time, and it switches off and on pretty smartly:

784239087_Screenshot2021-02-24at12_03_03.thumb.png.c331e281c8eee11c8b0343ba55a95c8f.png

Adjusting the radius of the motion blur,  as opposed to rotating it, doesn't appear to activate the GPU. Which is good for my battery life if nothing else...

So it's pretty selective, and it may depend on individual system settings too. 

Also worth noting that if I play graphics-intensive games then the GPU is on all the time, the laptop turns into a lapscorcher and the fans sound like a Saturn V on blastoff. Affinity Photo appears to be a bit more conservative about when it uses the GPU.

Cheers,

H

 

 

Affinity Photo 1.9.2,  Affinity Designer 1.9.2, Affinity Publisher 1.9.2, Mac OSX 11.2, 2018 MacBook Pro 15"

Betas as they happen... 

Link to post
Share on other sites

Thanks for all the replies! I did a couple of tests using the Live Motion Blur, and indeed, the GPU is activated up to 50% when rotating the blur. So the system is recognizing the GPU at least.

It looks like you are correct that the number of functions used by the GPU is small, and therefore makes no difference when doing an HDR merge, for instance.

It would be awesome if Affinity could chime in if this is a possible improvement for the future and what kind of functions are actually taking advantage of the GPU today. I was thinking about getting an eGPU to speed up the HDR merge process and other tasks that take much time, but after this thread I've learnt that it may not be beneficial for that kind of tasks. Thanks again.

Link to post
Share on other sites
17 minutes ago, Norway16 said:

It would be awesome if Affinity could chime in if this is a possible improvement for the future and what kind of functions are actually taking advantage of the GPU today. I was thinking about getting an eGPU to speed up the HDR merge process and other tasks that take much time, but after this thread I've learnt that it may not be beneficial for that kind of tasks. Thanks again.

This is an interesting area of development. Off-loading lots of calculations to the GPU is still in its relative infancy. Surprisingly, it wasn't until very recently that even tools such as Photoshop and Lightroom began taking any advantage at all of a GPU. They're all steadily improving in this area, so I expect in the days ahead we will see similar for a broader range of Affinity Photo operations.

Link to post
Share on other sites

You can also get some insight into GPU performance by running Help-Benchmark (switch of all other apps and disconnect from the internet first):

731145395_Screenshot2021-02-24at21_33_34.png.c4d2f605ce96d99665127f1cc26bcbe8.png

Which (I think) means that for raster operations my multi-GPU combination is nearly 20 times faster than CPU-only would be.

 

Affinity Photo 1.9.2,  Affinity Designer 1.9.2, Affinity Publisher 1.9.2, Mac OSX 11.2, 2018 MacBook Pro 15"

Betas as they happen... 

Link to post
Share on other sites
59 minutes ago, Ulysses said:

This is an interesting area of development. Off-loading lots of calculations to the GPU is still in its relative infancy. Surprisingly, it wasn't until very recently that even tools such as Photoshop and Lightroom began taking any advantage at all of a GPU. They're all steadily improving in this area, so I expect in the days ahead we will see similar for a broader range of Affinity Photo operations.

In some cases, offloading calculations to the GPU & getting the results back apparently takes more time than it saves, even though the GPU may run the calculations much faster once the data is loaded into the GPU. As I understand it, this depends on the hardware architecture of the system & the OS, so there is no "one size fits all"  solution.

Affinity Photo 1.9.3, Affinity Designer 1.9.3, Affinity Publisher 1.9.3;  2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.92.236 & Affinity Designer 1.9.2 (showing 1.9.9) for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 14.4 (18D52)

Link to post
Share on other sites

Thanks for the added comments, I'm learning a lot about this subject :)

Sounds like there is nothing wrong with my setup, just that the HDR process is almost solely dependent on the CPU, and adding an eGPU would not increase the performance of this task.

Link to post
Share on other sites
54 minutes ago, Norway16 said:

Sounds like there is nothing wrong with my setup, just that the HDR process is almost solely dependent on the CPU, and adding an eGPU would not increase the performance of this task.

Exactly. An eGPU won't automatically improve performance unless a) the software is specifically written to take advantage of one, and b) the process in question actually benefits computationally by using an eGPU.

Link to post
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

Please note there is currently a delay in replying to some post. See pinned thread in the Questions forum. These are the Terms of Use you will be asked to agree to if you join the forum. | 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.