Commands on server and lack of examples
ambassador at fourthworld.com
Thu Nov 14 14:10:45 EST 2019
Thanks for looking into this, Brian.
My understanding of the team's approval of this IF addition is that
anyone adding "-f" to their call invoking a faceless LC engine assumes
responsibility if that breaks anything else they try to invoke later.
Down the road, the team would like to use "lazy font initialization",
described in that bug report in Peter Brett's comments.
This addition of a command line flag is merely a stop-gap, a way to
allow LC's natural efficiencies at so many tasks needed for CGI work to
run unimpeded by the mostly-unused overhead of loading fonts.
Given the potential for LC, with its glorious chunk expressions, to one
day rival Ruby and Python for CGI tasks, I hate to see adoption
inhibited by needless resource consumption.
Fourth World Systems
Brian Milby wrote:
> Although the concept of the change is simple, the implementation is not trivial. It may not be that hard for a Mark, but it does look a little involved to me. The code that does the font stuff isn’t easy to just cut out since so much later depends on those structures being populated. It may be possible to stub it out where a single static font is loaded, but I’m talking way above my head at this point.
> On Nov 14, 2019, 1:18 PM -0500, JJS via use-livecode <use-livecode at lists.runrev.com>, wrote:
>> Thanks, that was an interesting read.
>> Unfortunately i have zero C++ skills
>> Op 13-11-2019 om 22:16 schreef Richard Gaskin via use-livecode:
>> > JJS wrote:
>> > > Op 12-11-2019 om 19:34 schreef Brian Milby via use-livecode:
>> > > > Unless you are doing a HTML5 app (entire stack resides in a web
>> > > > page), none of the GUI stuff applies. The LC code is pretty much
>> > > > a replacement for PHP code, so the GUI piece would be the same
>> > > > (whatever HTML/JS frameworks you choose).
>> > >
>> > > So actually the Dictionary needs some updates of stuff that is not an
>> > > error but also doing nothing when used on server.
>> > GUI elements can be useful in LC Server for creating custom screen
>> > shots, which can be exported and that file data returned to the client
>> > for display in a browser or an LC app.
>> > That's the good news.
>> > That bad news is that 100% of all LC Server use is slower than it
>> > needs to be because it's initializing fonts for the 0.001% of CGIs
>> > using custom graphics export with specified fonts.
>> > I've discussed the situation with several people at LC Ltd, and while
>> > they're not in a position to put a solution in place right now they
>> > are quite open to accepting a pull request for it, which should be a
>> > relatively simple matter for anyone with C++ skills.
>> > I've outlined the problem and the proposed solution in detail here:
>> > http://lists.runrev.com/pipermail/use-livecode/2019-March/253723.html
More information about the use-livecode