[6.4.2] Difference between 'source' and 'sourceComponent' in Loaders & In-line Components VS separate file Components
-
Currently, I'm dealing with a huge application, with a crazy amount of components, and we've reached a point (probably due to bad optimization of course), where we hit QJSEngine's max call stack, just by adding a few more components here and there. There's no recursive issues, we've profiled the application countless times, everything seems to be in order, whenever we delete a few components (from literally anywhere in the application) we see the max call stack warning disappear. The application has Loaders, and only loads things when needed, so it doesn't really make sense that it reaches the limit of the call stack.
Now, after some research, I've found a "solution" that involved changing some of our Loaders, from loading in-line Components (using sourceComponent), to loading the components via url (using source). And interestingly enough, this avoids the warning completely.
My question here is, why would it be any different, using in-line Components and separate file Components? Loaders, source vs sourceComponent, why do they behave differently when it comes to QJSEngine?
QT Version 6.4.2