I recently decided to force myself to actually learn FreeCad. I’ve tried on and off for the past two years but just couldn’t get along with the UI and workflow…well, now I’m giving it an honest shot, and after a few weeks of misery, it is getting better.

But my laptop is not particularly powerful, and I frequently have performance issues when working with imported step-files. Lo and behold, you can run FreeCad in docker, so I can use my server which is significantly more powerful and just access via browser.

The catch is, it seems to run even worse than on my laptop. I can also see that it actually doesn’t use much of the available power of the server. Does anyone have experience with setting up a docker compose for FreeCad? I’ve looked at the docs and my GPU should be passed through and I’ve also allocated 32GB ram to the container. But it doesn’t actually use it it seems.

  • ExcessShiv@lemmy.dbzer0.comOP
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    11 hours ago

    Docker is just a virtualized environment that enables OS agnostic deployment of services, it is normal to access the dep via a web interface, I do this with orca slicer (and a bunch of other stuff) too without issues. The docker image of FreeCad is specifically intended to be accessed via web interface.

    • Stampela@startrek.website
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      3
      ·
      11 hours ago

      Yes, but your laptop is not liking the software, and now you are running it in a browser too. Unless the service offered by the container is remote control, then it’s not going to be of any help for you. Difference between running a HTML5 game in your browser, or GeForce Now: one runs locally, the other is just a video feed.

      • HelloRoot@lemy.lol
        link
        fedilink
        English
        arrow-up
        3
        ·
        11 hours ago

        Thats not how that docker container is actually set up.

        What you describe does exist, but here it is actually running on the server and gets streamed to the users browser.

      • ExcessShiv@lemmy.dbzer0.comOP
        link
        fedilink
        English
        arrow-up
        5
        ·
        edit-2
        10 hours ago

        FreeCad is run inside the container, on the server hardware, the frontend is then accessed via browser. My laptop is not doing any more work than browsing the internet, it’s all handled by the server hardware.

        • atzanteol@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 hours ago

          A lot of the work FreeCAD does is in the client though. Rendering the display. That’s not going to be done server-side.

          • ExcessShiv@lemmy.dbzer0.comOP
            link
            fedilink
            English
            arrow-up
            2
            ·
            9 hours ago

            Thats also not the most intensive part. Managing geometries and compute is the most intensive part and that is done server side.

              • ExcessShiv@lemmy.dbzer0.comOP
                link
                fedilink
                English
                arrow-up
                1
                ·
                edit-2
                8 hours ago

                Its really not that intensive, I barely break 15% CPU utilization and 25% RAM utilization on my laptop wheen using via browser to dockerized FreeCad on the server, compared to 100% CPU and 45% RAM when running FreeCad directly on the laptop.

                • atzanteol@sh.itjust.works
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  arrow-down
                  1
                  ·
                  5 hours ago

                  I didn’t realize it was using a remote-desktop setup. Still 2-D rendering performance could be an issue in the browser depending on whether it’s using accelerated graphics or not.

                  There are performance metrics other than CPU/memory usage. Like network latency, disk i/o, and bandwidth. UI performance on remote desktops tends to suffer from latency even with fast machines on local networks. The “proxmox console” for VMs I run in browser is a remote desktop and it performs… well enough for a server but I wouldn’t want to do anything significant in it. And that’s just presenting a desktop.

                  You haven’t described the nature of your ‘poor performance’ well though. Is it display latency like I’m describing or things like loading projects or creating STL files that is slow?

                  • ExcessShiv@lemmy.dbzer0.comOP
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    5 hours ago

                    It’s gigabit WiFi, latency to server is something like 5ms, and disk i/o and bandwidth barely even register above 1% on my laptop…the bottleneck is not network or the laptop.

          • Blue_Morpho@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            7 hours ago

            Are you familiar with remote desktop or ssh? Imagine you ssh in to a remote server and run a command. What resources are being used on your client PC? Same thing with FreeCad running on a remote server and you connecting to it via a web browser as a remote desktop. The client web browser is doing nothing but getting a compressed video stream from the server. Like watching Youtube.

            • atzanteol@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              ·
              5 hours ago

              Are you familiar with remote desktop or ssh?

              Very.

              I didn’t realize that’s what this was doing though. Still requires a bit of client-side rendering performance from the browser and network capability. Depending on what potato they’re using on the desktop the latency might be giving the perception of “slowness”.