HISE Logo Forum
    • Categories
    • Register
    • Login

    Linux memory consumption

    Scheduled Pinned Locked Moved Bug Reports
    7 Posts 2 Posters 385 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • tobanteT
      tobante
      last edited by

      Hi,

      I've been playing around with HISE and Linux in combination for the last few days. So far everything works great. But I noticed a pretty big memory consumption. After opening an almost empty project, about 1.5GB are used for fonts. I think that in the "LinuxFontManager" something is not working with the caching. As far as I understand it, the "API" list on the left is the cause. I couldn't test other operating systems yet, because I don't know a good alternative to heaptrack on macOS and Windows.

      Test system:

      • Fedora 38
      • gcc-13
      • Release build

      Screenshot from 2023-10-20 10-00-35.png Screenshot from 2023-10-20 09-59-17.png

      d.healeyD 1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey @tobante
        last edited by

        @tobante Yeah theLinux font manager causes HISE to run really slow as well. I just disable it but it would be nice to have a fix.

        Libre Wave - Freedom respecting instruments and effects
        My Patreon - HISE tutorials
        YouTube Channel - Public HISE tutorials

        tobanteT 2 Replies Last reply Reply Quote 0
        • tobanteT
          tobante @d.healey
          last edited by

          @d-healey It's still usable, I have 64GB, so that's not the issue, but 70'000 calls to Typeface::createSystemTypefaceFor seems like a logic error to me. :)

          d.healeyD 1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey @tobante
            last edited by

            @tobante Try using scriptnode 😃 there is a thread about this issue somewhere, might be worth digging it up.

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

            1 Reply Last reply Reply Quote 0
            • tobanteT
              tobante @d.healey
              last edited by tobante

              @d-healey I think I just found the issue. The SharedResourcePointer for the LinuxFontManager gets initialized each time the LinuxFontHandler::Instance is requested. So there are 70000 instances of the "global" font manager.

              // hi_tools/Macros.h:212
              #define GLOBAL_FONT() (LinuxFontHandler::Instance().getGlobalFont())
              

              Maybe just make the font manager a static singleton

              d.healeyD 1 Reply Last reply Reply Quote 0
              • d.healeyD
                d.healey @tobante
                last edited by

                @tobante Yup, here's the thread - https://forum.hise.audio/topic/3893/custom-workspace-slow-hise

                Libre Wave - Freedom respecting instruments and effects
                My Patreon - HISE tutorials
                YouTube Channel - Public HISE tutorials

                tobanteT 1 Reply Last reply Reply Quote 0
                • tobanteT
                  tobante @d.healey
                  last edited by

                  @d-healey Ok, so we need a way to have a static object without crashing the leak-detector and/or pluginval. There must be a way, there are other static objects in JUCE itself. I wonder how the ImageCache class does things.

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  37

                  Online

                  1.7k

                  Users

                  11.7k

                  Topics

                  102.2k

                  Posts