Yes. At this point, there is no fallback implemented.

Doru


> On Oct 23, 2016, at 10:43 AM, stepharo <steph...@free.fr> wrote:
> 
> Doru
> 
> does it mean that right now with Sparta we do not have any fallback?
> 
> Stef
> 
> 
> Le 21/10/16 à 15:41, Tudor Girba a écrit :
>> Hi Clement,
>> 
>> Thanks for raising this question.
>> 
>> In short, Sparta is inspired from Athens and it has a similar structure. So, 
>> there is an in-image interface of the canvas, and there is a concrete 
>> implementation through the plugin (based on Moz2D). To target a completely 
>> in-image rendering, it is certainly possible to implement a BitBlt backend 
>> of the Sparta canvas. To implement this part, we would need help.
>> 
>> The goal is indeed to have only one canvas in the default Pharo 
>> distribution: Sparta. However, this will not happen suddenly. Ideally, when 
>> Pharo 6 will be released, there will be a beta version of Sparta + Bloc + 
>> some tools that will be loadable externally. Then my guess is that it will 
>> still take another year until we get the full development environment 
>> working on top of Sparta. So, it is to be expected that this transition will 
>> take at least 1.5 years during which time Athens will still provide the 
>> option of running on top of BitBlt.
>> 
>> Does this answer the concern?
>> 
>> But, now my question: Would it not be possible to get the VM to not open a 
>> window when in headless mode?
>> 
>> Cheers,
>> Doru
>> 
>>> On Oct 21, 2016, at 2:23 PM, Clément Bera <bera.clem...@gmail.com> wrote:
>>> 
>>> 
>>> 
>>> On Thu, Oct 20, 2016 at 9:07 AM, Aliaksei Syrel <alex.sy...@gmail.com> 
>>> wrote:
>>> Hi Stéphane
>>> 
>>> Indeed, build is broken :)
>>> Yesterday I took a very brief look at bloc and can confirm that development 
>>> version is loadable in Pharo 6 and is completely Sparta based. (all 
>>> examples work for me)
>>> 
>>> You are right, live environment on embedded systems is great goal to 
>>> achieve. Sparta must not prevent pharo from getting there. It is true that 
>>> plugin is relatively big (windows 7mb, osx 15mb, linux 18mb). However, it 
>>> is all-in-one build and size can be reduced dramatically.
>>> 
>>> As I understand, Pharo for PC should not make any assumptions about user's 
>>> hardware. If gpu accelerated backend can not be used there should be still 
>>> a performant fallback backend which also needs a fallback that is 
>>> guaranteed to work even on Personal Calculators. (Taschenrechner). That is 
>>> why library is so big. For example for mac and windows Sparta is shipped 
>>> with 3 (!) backends that together build fallback chain, for instance on 
>>> windows: direct2d1.1, skia, cairo. Compiling library for mac without Skia 
>>> reduces binary size from 15mb to 10mb. Removing GL package and leaving only 
>>> software backends may reduce size even more.
>>> 
>>> It is a bit different on embedded systems, since hardware configuration is 
>>> already known and there is no need to have so many fallback backends. 
>>> Library itself allows developers to add new exotic backends quite easily.
>>> 
>>> Let's take Pharo6 for mac. It is shipped with the following libs:
>>> Cairo (1.4mb) + Pixman (2.8mb) + Freetype (0.8mb) = 5mb
>>> 
>>> Moz2D is self contained and does not require any additional libs.
>>> Moz2D = 15mb, Moz2D without Skia = 10mb. Moz2D without Skia and GL = ? 
>>> (estimate around 6-7mb).
>>> 
>>> As you can see we get almost the same numbers :)
>>> 
>>> Yeah but none of the libs (Cairo, Pixman, FreeType) are required to run 
>>> Pharo, they're required only if you use them. I compile VMs without such 
>>> libraires and Pharo works just fine as a development environment and for 
>>> simple things like web servers. The Squeak VM for example have around 2Mb 
>>> footprint in total, including 1Mb for the C runtime (initialized and 
>>> uninitialized data, executable code) and 1 Mb for the machine code zone and 
>>> can run most Pharo features just fine, including for examples web services 
>>> and the IDE.
>>> 
>>> Right now the VM cannot start completely headless, the headless mode just 
>>> hides the main window, so if the main window start-up depends on Sparta, 
>>> it's not possible to run Pharo headless without many Mb of memory footprint.
>>> 
>>> Which leads the first question...
>>> 
>>>>> Is it possible to start your Bloc Pharo image on a 2Mb footprint VM ? By 
>>>>> asking this question, I imply, if there is no 
>>>>> Cairo/Pixman/FreeType/Sparta plugin, can the image run headless and can 
>>>>> it run UI applications ?
>>> The last problem is that Pharo can currently run UI application like the 
>>> IDE on a 2Mb memory footprint VM. Let's assume Pharo with Bloc/Sparta/etc. 
>>> can be run either headless on a 2Mb memory footprint VM or with a UI on a 
>>> 7Mb+ memory footprint VM. It means now people doing UI would need extra 
>>> memory, for example, in the case of android deployment where the android 
>>> app includes the VM and the image, the app memory consumption at runtime 
>>> would be at least 5Mb bigger.
>>> 
>>>>> Is the community ok with this or will we need to maintain both the Sparta 
>>>>> back-end and a Bloc to BitBlt back-end as a fall-back to run on smaller 
>>>>> VMs ?
>>> 
>>> Cheers
>>> Alex
>>> 
>>> On Oct 19, 2016 22:16, "stepharo" <steph...@free.fr> wrote:
>>> Hi Aliaksei
>>> 
>>> It looks gorgeous.
>>> I tried to launch the Bloc image from the CI and it crashes during startup 
>>> on my mac. I reported that to Glenn and Alain but so far I simply cannot 
>>> see Bloc code. Is it working for you? I mean is it me that is using the 
>>> wrong VM.
>>> 
>>> Then I have a question:
>>> 
>>>     - do you think that we can have a fallback in terms of back end for the 
>>> case where we could like to run Pharo on coffee machines but get a live 
>>> environment on such machines? This is related to the discussions we got 
>>> this summer about the memory footprint that Moz2D will put on us.
>>> 
>>> I do not mean that we must have one but I think that this is important to 
>>> check because we can say that Pharo is small but if we need 20 mb libraries 
>>> for rendering there are some cases where this can kill its usage.
>>> 
>>> Stef
>>> 
>>> Le 19/10/16 à 18:06, Aliaksei Syrel a écrit :
>>>> Hi
>>>> 
>>>> I am happy to announce the release of Sparta v1.1 for Pharo 6.
>>>> https://github.com/syrel/Sparta/tree/v1.1
>>>> 
>>>> It can be bootstrapped with the following script:
>>>> 
>>>> Metacello new
>>>> 
>>>>   baseline: 'Sparta'
>>>> ;
>>>>   repository: 'github://syrel/sparta:v1.1/src'
>>>> ;
>>>>   load: #file:core
>>>> Examples are on class side of: MozExamples, MozTextExamples
>>>> (for linux users: if you use 32bit pharo on 64bit linux, sparta will not 
>>>> work, since 32bit plugin depends on 32bit GTK which conflicts with 64bit 
>>>> GTK. Either use 32bit linux or 64bit pharo. I tested sparta with 64bit vm 
>>>> on mac and linux - it works, but some features fail because FFI is not 
>>>> ready)
>>>> Release of v1.1 is focused on hardware acceleration, windows support and 
>>>> text rendering.
>>>> What is new:
>>>>  - Default backends on all platforms changed from software to hardware 
>>>> accelerated.
>>>>  - Now also works on Windows! Default backend is Direct2D for drawings and 
>>>> DirectWrite for text. On multi-gpu machines per-app-default setting is 
>>>> respected. In case of Nvidia it can be changed in nvidia control panel. 
>>>> Sparta is x2 faster on discrete gpu than on integrated one.
>>>>  - Added initial text support, for instance rendering and high precision 
>>>> measurement.
>>>>  - Per-platform settings system is now image based. Allows to 
>>>> enable/disable hardware acceleration, change default backends, change 
>>>> font-mappings tables.
>>>> Some text examples:
>>>> (rendering)
>>>> <Mail Attachment.png>
>>>> (measurement)
>>>> <Mail Attachment.png>
>>>> Cheers,
>>>> Alex
>> --
>> www.tudorgirba.com
>> www.feenk.com
>> 
>> "There are no old things, there are only old ways of looking at them."
>> 
>> 
>> 
>> 
>> 
>> 
> 
> 

--
www.tudorgirba.com
www.feenk.com

"Beauty is where we see it."





Reply via email to