HISE Logo Forum
    • Categories
    • Register
    • Login

    Heavy Loading times (Plugin Initialization) using Encrypted Expansions

    Scheduled Pinned Locked Moved General Questions
    19 Posts 3 Posters 823 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.
    • S
      Soundavid
      last edited by

      Hi, im upgrading to Encrypted expansions in my plugin but is taking too long to Initialize the Plugin or Standalone app when there is an expansion, as soon I delete the Expansions folder the Plugin loads a lot faster, im using the System ID and Encryption Key to Encrypt them.

      I Reduced the images sizes but the result is the same...

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

        @Soundavid

        @Soundavid said in Heavy Loading times (Plugin Initialization) using Encrypted Expansions:

        as soon I delete the Expansions folder the Plugin loads a lot faster

        Does it load faster when disabling the encryption?

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

        S 1 Reply Last reply Reply Quote 0
        • S
          Soundavid @d.healey
          last edited by

          @d-healey Yes! When im using FileSystem Expansions the plugin loads a lot faster

          Christoph HartC 1 Reply Last reply Reply Quote 0
          • Christoph HartC
            Christoph Hart @Soundavid
            last edited by

            @Soundavid how big is your encryption key? You can set an arbirtrary length and the decoding speed is proportional to the key length. With 1234 it‘s trivial so just pick a suitable compromise for your taste (and remember that brute forcing the encryption key is most often not the attack vector).

            S 1 Reply Last reply Reply Quote 0
            • S
              Soundavid @Christoph Hart
              last edited by

              @Christoph-Hart The Encryption Key that I set in the Project Settings is 72 character length, but the JSON object that im using to Set the expansion credentials contains almost 86 characters.

              Which of them should I reduce?

              Christoph HartC 1 Reply Last reply Reply Quote 0
              • Christoph HartC
                Christoph Hart @Soundavid
                last edited by

                @Soundavid the key because it is used to encrypt the bulk data that is embedded. The JSON object will be encrypted with the fixed size RSA key.

                S 1 Reply Last reply Reply Quote 0
                • S
                  Soundavid @Christoph Hart
                  last edited by

                  @Christoph-Hart Ok, thanks I will test this, how many characters do you recommend for a fast loading but fairly secure encryption key?

                  Christoph HartC 1 Reply Last reply Reply Quote 0
                  • Christoph HartC
                    Christoph Hart @Soundavid
                    last edited by

                    @Soundavid more than 4, less than you have :)

                    S 3 Replies Last reply Reply Quote 1
                    • S
                      Soundavid @Christoph Hart
                      last edited by

                      @Christoph-Hart That's a Big window :') Thanks!

                      1 Reply Last reply Reply Quote 0
                      • S
                        Soundavid @Christoph Hart
                        last edited by

                        @Christoph-Hart Ok I reduced the Encryption Key and the JSON Content A LOT! And Improves the loading time just a little like in a 10%, this is a normal behavior? Or im doing something weird? Im Calling the setCredentials function way before setting the setAllowedExpansionTypes in my script, maybe this has something to do with this?

                        include ("Theme.js");
                        include ("Paths.js");
                        include ("License.js"); ---> Here is where I set the Credentials and Check the Plugin License
                        include ("LAF.js");
                        include ("GUI.js");
                        include ("Filters.js");
                        include ("Controls.js");
                        include ("Mapping.js");
                        include ("Expansions.js"); ----> Here is where I set the Allowed Expansion Types
                        include ("Meters.js");
                        include ("ZoomHandler.js");
                        include ("Paint.js");

                        1 Reply Last reply Reply Quote 0
                        • S
                          Soundavid @Christoph Hart
                          last edited by

                          @Christoph-Hart Ok, I've tried everything and seems that the problem was with the Presets, I removed all the presets and create only a fresh preset to load the expansion and the plugin loads almost immediately :anxious_face_with_sweat:

                          Christoph HartC 1 Reply Last reply Reply Quote 0
                          • Christoph HartC
                            Christoph Hart @Soundavid
                            last edited by

                            @Soundavid how big is a .preset file and how many presets are in there?

                            S 2 Replies Last reply Reply Quote 0
                            • S
                              Soundavid @Christoph Hart
                              last edited by

                              @Christoph-Hart Aproxx 131KB per Preset and 406 Total Presets (Summing all 6 expansions)

                              1 Reply Last reply Reply Quote 0
                              • S
                                Soundavid @Christoph Hart
                                last edited by

                                @Christoph-Hart Ok, My Solution was encoding the Expansions without presets and shipping the Preset Folder additionally, everything loads a lot faster now.

                                Christoph HartC 1 Reply Last reply Reply Quote 1
                                • Christoph HartC
                                  Christoph Hart @Soundavid
                                  last edited by

                                  @Soundavid good idea at some point I might consider removing the user presets from the encryption payload (as they are living unencrypted on your hard disk anyways), but that‘s a good solution.

                                  S 1 Reply Last reply Reply Quote 1
                                  • d.healeyD
                                    d.healey
                                    last edited by d.healey

                                    I already added this - https://github.com/christophhart/HISE/commit/28afe964c6f0739c8fdbe7270809b452274880b8

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

                                    1 Reply Last reply Reply Quote 1
                                    • S
                                      Soundavid @Christoph Hart
                                      last edited by

                                      @Christoph-Hart Maybe let the user decide what would be encrypted with a checkbox? In this way we could update things like Presets, images, MIDI Files or Audio files without re-encoding the expansion but maintaining the encryption and copy protection.

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

                                        @Soundavid said in Heavy Loading times (Plugin Initialization) using Encrypted Expansions:

                                        Maybe let the user decide what would be encrypted with a checkbox?

                                        Check my post above.

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

                                        S 1 Reply Last reply Reply Quote 1
                                        • S
                                          Soundavid @d.healey
                                          last edited by

                                          @d-healey 👍 Nice!

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

                                          18

                                          Online

                                          1.8k

                                          Users

                                          12.0k

                                          Topics

                                          104.8k

                                          Posts