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

Affinity Photo/Designer/Publisher - Performance Settings RAM Usage Limit bug


Recommended Posts

What happens if you type "128GB" (without the quotes) in the text field to the right of the slider?

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

14 minutes ago, R C-R said:

What happens if you type "128GB" (without the quotes) in the text field to the right of the slider?

That seems to stick, although I wouldn't be confident that it would actually use the RAM above 64GB. Just touching the slider afterwards resets it to 64GB

Link to comment
Share on other sites

8 minutes ago, rvst said:

That seems to stick, although I wouldn't be confident that it would actually use the RAM above 64GB.

It should not be any different than anywhere else in the UI where a number higher than the maximum the slider will go to can be entered & used by typing it manually in the field next to the slider.

There are several places in the UI like that.

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

14 minutes ago, R C-R said:

It should not be any different than anywhere else in the UI where a number higher than the maximum the slider will go to can be entered & used by typing it manually in the field next to the slider.

There are several places in the UI like that.

Thanks - good to know that. Seems like this should be fixed in an upcoming release though. I wonder how many people actually check this setting, so many could be running with a non-optimal default.

Link to comment
Share on other sites

2 hours ago, rvst said:

I wonder how many people actually check this setting, so many could be running with a non-optimal default.

I doubt that it is many people. 64 GB of real memory (RAM) should be much more than enough for almost any project; & of course other processes need RAM anyway so there it would be impossible for any one app to use all the installed RAM.

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

8 hours ago, R C-R said:

I doubt that it is many people. 64 GB of real memory (RAM) should be much more than enough for almost any project; & of course other processes need RAM anyway so there it would be impossible for any one app to use all the installed RAM.

I don't think that is the case - Affinity doesn't pre-allocate all the RAM. This slider just limits how much of the RAM it can use. So in default mode with this limit, it will only ever use half the RAM available if someone has 128GB installed. 

It is entirely possible for one app to use all the RAM, Affinity included, if multiple very large images with many layers are open and being edited. It's simply that at this point some swapping to virtual memory will start to occur. I grant you, though, that this is likely to be an edge case - not many people are going to use more than 64GB of RAM. But this is a bug nonetheless...

Link to comment
Share on other sites

10 hours ago, R C-R said:

I doubt that it is many people. 64 GB of real memory (RAM) should be much more than enough for almost any project; & of course other processes need RAM anyway so there it would be impossible for any one app to use all the installed RAM.

Really? I disagree. Lots of issues when stacking many images, stacking panorama, using RGB/32, etc.

Some users prefer having multiple large documents open, using embedded files. Users working on large Publisher documents can tell stories.

Affinity refuses to fully support 1-bit file formats, bloating documents 8-fold (or more with alpha)

Mac mini M1 A2348 | Windows 10 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

 

Link to comment
Share on other sites

36 minutes ago, LondonSquirrel said:

 

That is not correct as far as the way macOS handles virtual memory. I'm familiar with FreeBSD's VM system, and I know that macOS is different (actually quite different). However, in some concepts it is similar.

Let me point to some VM documentation on Apple's web site: https://developer.apple.com/library/archive/documentation/Performance/Conceptual/ManagingMemory/Articles/AboutMemory.html

Quote: Even for computers that have 4 or more gigabytes of RAM available, the system rarely dedicates this much RAM to a single process. To give processes access to their entire 4 gigabyte or 18 exabyte address space, OS X uses the hard disk to hold data that is not currently in use.

 

While it is relatively rare for a process to use a large amount of resident RAM, it certainly can happen and graphics programs are likely to be one of those that would use a lot of RAM. If a page is in a working set (ie. accessed frequently) then it won't be swapped to virtual memory.

With sufficient RAM available, most operating systems will not swap to disk much. On Linux, this can even be configured through `/proc/sys/vm/swappiness`. I imagine given it's origins that this is something that MacOSX could do too. 64 bit processes can address a lot more than 4GB of RAM - a 4GB address space is the limit for a 32 bit process. 

I actually use Windows 10 and not MacOSX - my understanding is that Windows VM tends not to swap until physical RAM is exhausted, but I'll need to check this to be certain.

Incidentally, MacOSX is originally based on the Mach kernel, which is a derivative of BSD Unix from which FreeBSD descends...

This is all good info, but ultimately not a good reason to leave what is clearly a bug in place...

Link to comment
Share on other sites

5 hours ago, rvst said:

It is entirely possible for one app to use all the RAM, Affinity included, if multiple very large images with many layers are open and being edited.

Not true. Some RAM is always needed for all the essential OS level services the computer requires to operate at all, thus the name operating system. None of this can be done directly by application processes; they must be done at the OS level, whether any application is running or not.

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

18 minutes ago, R C-R said:

Not true. Some RAM is always needed for all the essential OS level services the computer requires to operate at all, thus the name operating system. None of this can be done directly by application processes; they must be done at the OS level, whether any application is running or not.

Yes, of course. I'm simplifying as this isn't a technical forum and the discussion is not really relevant to the fact that there is a bug on the Performance settings for Affinity products.

For the record, I'm a Linux kernel systems programmer, so I'm sufficiently familiar with OS-level architecture. 

Kernel pages will never get swapped out and memory is typically reserved for kernel routines, but beyond the base operating system requirements, a process can theoretically use up to the maximum amount of memory available to userspace processes

Link to comment
Share on other sites

16 minutes ago, rvst said:

 a process can theoretically use up to the maximum amount of memory available to userspace processes

Just to underscore this (and to demonstrate that overriding the slider with an explicit value in the field works), here are two screenshots of Affinity Photo using a LOT of RAM

image.png.a2cedae400fb6170af2683786d083d74.png

In the capture below you can see that literally 95% of the RAM in the system is being used, a total of 113GB out of 128GB in totalimage.png.728c26ebdf9edecfe5793f5716d700aa.png

So, Affinity can easily use more than 64GB of RAM. 

Link to comment
Share on other sites

9 minutes ago, rvst said:

I'm simplifying as this isn't a technical forum and the discussion is not really relevant to the fact that there is a bug on the Performance settings for Affinity products.

It isn't a bug. As in other places in the UI where the slider is limited to setting a smaller range of values than can be entered in the companion field, it was a design choice intended to make the slider easier to use to set typical values than if it covered the full range.

So for example, while there could theoretically be as much as several TB's of installed RAM in a high end computer, if the slider covered that entire range, for most users it would be extremely difficult to adjust it to a setting that was just a fraction of that enormous range.

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

1 minute ago, R C-R said:

It isn't a bug. As in other places in the UI where the slider is limited to setting a smaller range of values than can be entered in the companion field, it was a design choice intended to make the slider easier to use to set typical values than if it covered the full range.

So for example, while there could theoretically be as much as several TB's of installed RAM in a high end computer, if the slider covered that entire range, for most users it would be extremely difficult to adjust it to a setting that was just a fraction of that enormous range.

Sorry, with all due respect, I don't buy that it's easier for the user.

Two posts in two days - one by a user with LESS RAM and one by a user with MORE RAM than 64GB would indicate that far from being easier to use, it's actually confusing people, since they expect the slider maximum value to correspond to maximum physical memory. This is how almost all other software manages it.

So, if it's a design choice rather than a bug, it's a bad design choice in my humble opinion, especially since it's not obvious that the max value can be overridden manually. 

Link to comment
Share on other sites

Just now, rvst said:

So, if it's a design choice rather than a bug, it's a bad design choice in my humble opinion, especially since it's not obvious that the max value can be overridden manually. 

I agree it is a poor choice, or ,dare I say it, lazy programming. The Affinity applications need to read how much memory is installed in the machine. and use that value to set as the Maximum. Installed RAM is not dynamically changing from one moment to the next. 8 GB or 256 GB or a terabyte, it is going to be the same amount until the machine is turned off and more is added or some is removed.

Mac Pro (Late 2013) Mac OS 12.7.4 
Affinity Designer 2.4.1 | Affinity Photo 2.4.1 | Affinity Publisher 2.4.1 | Beta versions as they appear.

I have never mastered color management, period, so I cannot help with that.

Link to comment
Share on other sites

Well that RAM setting in prefs is just a statically setup slider scaling range, aka fom 0 to 2^16 MB, so nothing which is calculated dynamically here at all. - With other words, it's just a predefined static min/max value of 0 to 65536 MB, with an upper set max constant of 65536 MB.

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Link to comment
Share on other sites

It should be set to the amount of RAM you have installed on your Mac and then on my machine it should read my amount of RAM and show that as the Maximum. The size of my monitor is read at startup why not the installed RAM.

Mac Pro (Late 2013) Mac OS 12.7.4 
Affinity Designer 2.4.1 | Affinity Photo 2.4.1 | Affinity Publisher 2.4.1 | Beta versions as they appear.

I have never mastered color management, period, so I cannot help with that.

Link to comment
Share on other sites

10 minutes ago, rvst said:

Sorry, with all due respect, I don't buy that it's easier for the user.

For which users? If the slider range went from zero to say 1 TB & someone with 128 GB of installed memory like you have wanted to set the limit to say 100 GB, do you think you could easily set it to that value using the slider?

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

1 minute ago, R C-R said:

For which users? If the slider range went from zero to say 1 TB & someone with 128 GB of installed memory like you have wanted to set the limit to say 100 GB, do you think you could easily set it to that value using the slider?

The slider should never go from zero to 1TB if the system only has 128GB of RAM installed. It should go from zero to 128GB of RAM. I think this was the whole point of my original post: the correct way to initialize this slider is to make its range 0 - [MAX RAM].

For sliders with a large range, the typical way that most software allows more granular control is to add small up/down arrow buttons to the right of the value field that allow fine-grained control once the slider has been moved to the approximately correct value. 

 

Link to comment
Share on other sites

4 minutes ago, Old Bruce said:

It should be set to the amount of RAM you have installed on your Mac and then on my machine it should read my amount of RAM and show that as the Maximum.

If your Mac had for example 256 GB of RAM, but you wanted to limit each of several Affinity apps to using 60 GB because you typically ran several other RAM hungry apps at the same time, do you think you would find it easy to set it to that value using the slider?

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

1 minute ago, LondonSquirrel said:

If you set it to 0 it would never start.

I'm not sure I understand your comment? The exact quote was "make its range range 0 - [MAX RAM]", not "make its range 0".

But in principle, yes - setting it even to "1" to max value would not work since affinity clearly needs more RAM than this. A more sensible minimum would probably be better

Link to comment
Share on other sites

4 minutes ago, R C-R said:

do you think you would find it easy to set it to that value using the slider?

Why do you have to use the slider? Doesn't Mac have an input box like Windows has?

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
iPad:  iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1

Link to comment
Share on other sites

Exactly 60? Probably not. I never use sliders for precise values, set a ballpark figure sure. 

But I would not be given the impression that photo can only use the 64 GB as is the case currently. And that is the problem. I think it should be set according to how much RAM is in the Computer. 

Mac Pro (Late 2013) Mac OS 12.7.4 
Affinity Designer 2.4.1 | Affinity Photo 2.4.1 | Affinity Publisher 2.4.1 | Beta versions as they appear.

I have never mastered color management, period, so I cannot help with that.

Link to comment
Share on other sites

4 minutes ago, rvst said:

 the correct way to initialize this slider is to make its range 0 - [MAX RAM]

Why? You can set whatever value you want by typing it directly in the field. There is no need to use the slider if its maximum setting is less than you want, or bother with tiny up/down arrows.

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

2 minutes ago, LondonSquirrel said:

I understood perfectly. If you set its range from 0 to whatever, you are saying that 0 is a valid number for memory allocation. In other words, don't allocate any.

The Affinity apps do have a sensible lower limit. On my iMac, the lower limit is 1024MB.

Sure, I agree - so just mentally substitute this value wherever you see "0". I wasn't bringing into question the minimum value. It's the static maximum one that concerns me. 

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.