• TheFeatureCreature@lemmy.world
    link
    fedilink
    English
    arrow-up
    147
    ·
    edit-2
    4 months ago

    I dumped my Adobe sub and grabbed Affinity Photo a while ago. It does 95% of the things Photoshop does (and 100% of what I need) for a one-time payment that is a fraction of the cost of an Adobe payment. It’s runs so so SO much better than PS. I very often saw Photoshop using up to 40gb of RAM and Affinity Photo uses 9gb doing the exact same work with the same files.

    Removing Creative Cloud and it’s 838 different processes was amazing. Like finally watching your toilet flush after it’s been clogged.

    • 0ops@lemm.ee
      link
      fedilink
      English
      arrow-up
      11
      ·
      4 months ago

      I’ve only used the v1 affinity suite, so I can’t speak for the latest versions of v2, but when I started the first thing I noticed was the performance. It’s much more responsive.

    • helenslunch@feddit.nl
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      41
      ·
      edit-2
      4 months ago

      Photoshop using up to 40gb of RAM and Affinity Photo uses 9gb

      Not using all of the available RAM is not a good thing…

      E: my PC doesn’t have anywhere near 40GB of RAM and yet still runs Photoshop just fine. Why do you think that is? 🤔

      • AmbientChaos@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        12
        arrow-down
        1
        ·
        4 months ago

        This is only remotely true if you have a box dedicated to doing one single thing and nothing else. That is almost certainly not the case for the vast majority of Photoshop users

          • AmbientChaos@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            11
            arrow-down
            1
            ·
            4 months ago

            Consumer software running on a consumer OS should not be grabbing all available RAM just because. Doing so will cause other applications to be moved to swap and have to be loaded back into RAM when the user goes to use them. In a server environment doing something like running a SQL server it would make more sense to grab all available RAM and start aggressively caching frequently accessed data in RAM to present it sooner with the assumption that the server’s primary role is to perform SQL operations as quickly as possible.

            Specifically with Photoshop what would be the benefit of it be aggressively reserving RAM beyond what is needed to function?

            • helenslunch@feddit.nl
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              12
              ·
              4 months ago

              Doing so will cause other applications to be moved to swap and have to be loaded back into RAM when the user goes to use them.

              This is non-sense. Any modern OS will allocate RAM as necessary. If another application needs, it will allocate some to it.

              • 9bananas@lemmy.world
                link
                fedilink
                English
                arrow-up
                6
                arrow-down
                1
                ·
                4 months ago

                this is not true.

                it entirely depends on the specific application.

                there is no OS-level, standardized, dynamic allocation of RAM (definitely not on windows, i assume it’s the same for OSX).

                this is because most programming languages handle RAM allocation within the individual program, so the OS can’t allocate RAM however it wants.

                the OS could put processes to “sleep”, but that’s basically just the previously mentioned swap memory and leads to HD degradation and poor performance/hiccups, which is why it’s not used much…

                so, no.

                RAM is usually NOT dynamically allocated by the OS.

                it CAN be dynamically allocated by individual programs, IF they are written in a way that supports dynamic allocation of RAM, which some languages do well, others not so much…

                it’s certainly not universally true.

                also, what you describe when saying:

                Any modern OS will allocate RAM as necessary. If another application needs, it will allocate some to it.

                …is literally swap. that’s exactly what the previous user said.

                and swap is not the same as “allocating RAM when a program needs it”, instead it’s the OS going “oh shit! I’m out of RAM and need more NOW, or I’m going to crash! better be safe and steal some memory from disk!”

                what happens is:

                the OS runs out of RAM and needs more, so it marks a portion of the next best HD as swap-RAM and starts using that instead.

                HDs are not built for this use case, so whichever processes use the swap space become slooooooow and responsiveness suffers greatly.

                on top of that, memory of any kind is built for a certain amount of read/write operations. this is also considered the “lifespan” of a memory component.

                RAM is built for a LOT of (very fast) R/W operations.

                hard drives are NOT built for that.

                RAM has at least an order of magnitude more R/W ops going on than a hard drive, so when a computer uses swap excessively, instead of as very last resort as intended, it leads to a vastly shortened lifespan of the disk.

                for an example of a VERY stupid, VERY poor implementation of this behavior, look up the apple M1’s rapid SSD degradation.

                short summary:

                apple only put 8GB of RAM into the first gen M1’s, which made the OS use swap memory almost continuously, which wore out the hard drive MUCH faster than expected.

                …and since the HD is soldered onto the Mainboard, that completely bricks the device in about half a year/year, depending on usage.

                TL;DR: you’re categorically and objectively wrong about this. sorry :/

                hope you found this explanation helpful tho!

          • mojofrododojo@lemmy.world
            link
            fedilink
            English
            arrow-up
            5
            arrow-down
            1
            ·
            4 months ago

            for whom? as a power user, I’d keep affinity photo or photoshop, maya, max, blender and godot/unity open at the same time. I DO NOT WANT PS EATING UP ALL THE RESOURCES. Affinity so far (only 4 months into it) has been a delight.

            • helenslunch@feddit.nl
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              7
              ·
              4 months ago

              for whom?

              For everyone?

              I’d keep affinity photo or photoshop, maya, max, blender and godot/unity open at the same time.

              And any modern OS will allocate the necessary amount of memory to each task.

              • Grimm665@lemmy.world
                link
                fedilink
                English
                arrow-up
                3
                ·
                4 months ago

                You speak from the perspective of someone who’s either always had enough RAM, or not enough work to do.

                • helenslunch@feddit.nl
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  arrow-down
                  5
                  ·
                  4 months ago

                  I speak as someone who has used a computer before and paid attention to dynamic memory allocation.

        • helenslunch@feddit.nl
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          14
          ·
          4 months ago

          No, of course not. Why have all that RAM and not use any of it? This is a very common misunderstanding.

          • TheFeatureCreature@lemmy.world
            link
            fedilink
            English
            arrow-up
            16
            arrow-down
            1
            ·
            4 months ago

            This is true but only to a point. I have 64GB of RAM and I have seen Photoshop overshoot that and start eating up 20gb of page file. Working with the exact same files in Affinity Photo - it uses a quarter of that.

            There is a difference between “Efficiently use available memory for program functions” and “Fill all available memory with bloat and poorly coded rubbish”

            If your software’s function can be replicated using only 1/4 of system memory then your software is poorly written. Which Photoshop is.

          • AmbientChaos@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            7
            arrow-down
            1
            ·
            edit-2
            4 months ago

            The benefit of having unused RAM is that every program you are using can remain in memory for quick multitasking access and when you go to launch a new program it can be loaded into that unused RAM without unloading any of the currently running programs. What part about that is a misunderstanding? Would the user be better off if the application in focus aggressively reserved RAM it didn’t need to slow down every other running application? Because that’s what Photoshop does

            • helenslunch@feddit.nl
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              7
              ·
              4 months ago

              What part about that is a misunderstanding?

              The part where you assumed 20GB is 100% of OP’s RAM, leaving nothing for any other programs.

      • bamboo@lemm.ee
        link
        fedilink
        English
        arrow-up
        3
        ·
        4 months ago

        Not using available ram only is true when doing so could offer performance benefits. Many applications can’t be sped up by using more ram. Using more ram for no obvious reason is stupid, especially on a machine that has to do other things at the same time.

        • helenslunch@feddit.nl
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          4 months ago

          I mean what differences does it make if it’s needed or not if it’s not in use?

          • bamboo@lemm.ee
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 months ago

            Bad memory management can actually slow down applications significantly. Allocating memory is actually a fairly expensive operation. So much that high performance software actually uses a bunch of tricks to avoid extra allocations where possible. Additionally, accessing memory is actually kinda slow for a CPU, and the CPU often has to sit around for many clock cycles waiting for memory to be retrieved if it’s not in the CPU’s cache. If your main data can be stored more compactly, more of that data can fit in your CPU’s cache, reducing that idle time.

      • kingthrillgore@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 months ago

        Adobe can’t bother to fix it, they ended up adding a “Scratch Disk” aka virtual memory instead of fixing the problem.