[Development] qmlbundle vs Qt Resource System

Alan Alpert 416365416c at gmail.com
Tue Aug 13 00:44:44 CEST 2013


On Mon, Aug 12, 2013 at 3:04 PM, André Pönitz
<andre.poenitz at mathematik.tu-chemnitz.de> wrote:
> On Mon, Aug 12, 2013 at 08:02:55PM +1000, Chris Adams wrote:
>> [...]
>>  The whole resource code (core + the rcc commandline tool) is barely
>>  3000 lines of code. Might be not the nicest, nor the most obvious
>>  code ever, but field-proven, and "just works". Someone might even be
>>  able to look at it and find out.
>>
>>  <sarcasm> But why bother when re-inventing wheels is so much more
>>  fun.  And of course, the few thousand more lines of qrc tooling
>>  integration is nothing to be concerned of, either. It will magically
>>  adjust itself, at no cost. As usual. </sarcasm>
>>
>>  The refusal to even only consider re-use of existing assets is a huge
>>  sink of resources.
>>
>>
>> It's not about fun, in many cases, it's about pragmatism.
>
> For fifteen years, Qt application startup time has never been a serious
> issue, thanks to native code and proper compilation. Even declarative
> UI elements have been compiled by default, and All Was Well.
>
> If now, with machines a dozen times beefier than before, startup times
> suddenly become an issue, a flag should be raised.

I don't recall a time when application startup time has *not* been a
serious issue on mobile/embedded. Are you saying it's now a problem on
desktop?

> A _pragmatic_ approach to the problem would certainly not be to add
> more workarounds and re-invent more wheels

For reference, the wheel was (re-)invented several times[1] in
different areas of the world. Because it was just too much effort to
share the technology between Europe and China. They're pretty far
apart and both are smart enough to invent their own wheel, so it was
obviously more pragmatic to just do it twice.

> but to go back and find
> out at what time what new feature caused what part of the damage.

That attitude sounds like "let's not add new functionality, because
doing more stuff will be obviously slower than doing less stuff" [2] .
Regardless of how it's implemented, qmlbundle or rcc, bundling of
files and precompilation of QML are identified as potential major
performance improvements due to profiling of current applications. For
example, in Cascades applications the parsing/loading of QML files
takes about as long as the instantiation phase (which can be partly
blamed on a slow file system, but bundling is a great workaround for
that).

[1]http://en.wikipedia.org/wiki/Wheel#History . Shame I lack the
anthropological interest to research it properly...
[2]http://en.wikipedia.org/wiki/Strawman

--
Alan Alpert



More information about the Development mailing list