Pharo on retina display

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
26 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Pharo on retina display

Igor Stasenko
On 12 October 2012 15:28, Henrik Sperre Johansen
<[hidden email]> wrote:

> On 12.10.2012 14:42, Igor Stasenko wrote:
>>
>> On 12 October 2012 13:41, Tudor Girba <[hidden email]> wrote:
>>>
>>> Hi,
>>>
>>> Athens would indeed be great. And I am happy that this investment has
>>> high
>>> priority in the team. But, I think for the usages that I see, we would
>>> need
>>> font support. Is there any progress on this front?
>>>
>> Font support is there. I currently working on Morphic rendering (see
>> screenshot) and getting VMs for all 3 platforms Athens-ready.
>>
>> As i said previously, don't expect Athens to support raster fonts. It
>> doesn't makes any sense.
>> With athens, you can always render number of glyphs into bitmaps and
>> draw them as bitmaps later, if you want it,
>> but i wouldn't call it 'font support', it is bitmap support. :)
>>
>> For Cairo backend i did integration with freetype (which already in
>> pharo as you know), which means that you can
>> render any scalable fonts.
>>
>> And if you may know, freetype package supports embedded fonts (i.e.
>> font data loaded from memory),
>> which means you don't even need to have a separate font file along the
>> image, you can keep font in image itself.
>> As for amount of memory, needed to hold truetype font in image:
>> we did a small experiment with Camillo few days ago ,  we took single
>> font (Deja Vu sans mono),
>> and edited it to have only ascii character set (0..127). The resulting
>> font file size is just 30Kb!
>>
>> Now compare it with following:
>>
>> (StrikeFont allInstances collect: [:each | each glyphs bits sizeInMemory
>> ]) sum
>> 1504444
>>
>> 1.5 Mb of bitmap data for only single raster font with couple fixed sizes.
>>
>> For same size, you could have 1500/30  = 50 various vector fonts (if
>> only ascii character range of course).
>
> 25 then, StrikeFonts cover all of latin1 range :)
> How is the rendering performance compared to Bitmap and FT fonts done
> without athens/cairo?
> Bitmapped FT fonts were somewhat of a hog both memory and performance-wise
> iirc, due to the combination of sub-pixel accurate glyph bitmap cache and
> glyph-by-glyph rendering...
>
According to my measurement, which i did a while ago, a freetype glyph rendering
roughly takes 1/3 of total time for delivering glyph to the screen.
Which means a worst slowdown if you do it without any caching is +1/3
total rendering time for text.
This actually shows that rendering is memory bound.
Freetype producing grayscale glyphs 8 bit per pixel,
and blitting it on screen uses 32 bit bitmap . That's the only one
reasonable explanation to my observations i found.

> Impressive progress!
>
> Cheers,
> Henry
>



--
Best regards,
Igor Stasenko.

Reply | Threaded
Open this post in threaded view
|

Re: Pharo on retina display

Igor Stasenko
In reply to this post by Tudor Girba-2
On 12 October 2012 15:01, Tudor Girba <[hidden email]> wrote:
> Hi Igor,
>
> The only reason we were thinking of the bitmap font support was that there
> was no ready-made vm to get people to use the new canvas.
>
> But, if you are getting the vms ready ... this is fantastic. I would say
> that as soon as they are ready Moose will likely move to Athens.
>
Today we got a meeting a one of the decisions made is that
Pharo 2.0 will be shipped with Athens-ready VMs.
As well as Athens will be included as a technology-preview in release.

This is what people want from me, and i need to deliver :)

> Cheers,
> Doru
>
>



--
Best regards,
Igor Stasenko.

Reply | Threaded
Open this post in threaded view
|

Re: Pharo on retina display

abergel
This is a great news

Alexandre


On Oct 12, 2012, at 2:56 PM, Igor Stasenko <[hidden email]> wrote:

> On 12 October 2012 15:01, Tudor Girba <[hidden email]> wrote:
>> Hi Igor,
>>
>> The only reason we were thinking of the bitmap font support was that there
>> was no ready-made vm to get people to use the new canvas.
>>
>> But, if you are getting the vms ready ... this is fantastic. I would say
>> that as soon as they are ready Moose will likely move to Athens.
>>
> Today we got a meeting a one of the decisions made is that
> Pharo 2.0 will be shipped with Athens-ready VMs.
> As well as Athens will be included as a technology-preview in release.
>
> This is what people want from me, and i need to deliver :)
>
>> Cheers,
>> Doru
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko.
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply | Threaded
Open this post in threaded view
|

Re: Pharo on retina display

Stéphane Ducasse
In reply to this post by Igor Stasenko
>
> Yes, best thing for retina displays is to use Athens. It is maybe not
> yet ready for prime time, but of course it is more than nothing, and i
> crawling slowly to finish line :)
>
> I can only say that it was right strategic choice to put effort in
> developing it.
> Because if we wouldn't make such choice few years ago, and allocate
> our resources to other tasks (and there's plenty),
> there would be nothing to propose at all to support new generation of
> hardware which comes these days. :)

I like when you call me visionary man :).


if we look at Fuel and other nice recent development like build systems, bootstrapping, network improvement and others
it shows that we are really going in the right direction :)

Stef


Reply | Threaded
Open this post in threaded view
|

Re: Pharo on retina display

Stéphane Ducasse
In reply to this post by Tudor Girba-2

> Hi Igor,
>
> The only reason we were thinking of the bitmap font support was that there was no ready-made vm to get people to use the new canvas.
>
> But, if you are getting the vms ready ... this is fantastic. I would say that as soon as they are ready Moose will likely move to Athens.

Yes Igor is working on the three platforms.  Igor is fixing the windows one currently and he is near the end.
We are going to release vm with NativeBoost, Freetype, SSL support on all platforms.

Stef

> Cheers,
> Doru
>
>
>
> On Fri, Oct 12, 2012 at 2:42 PM, Igor Stasenko <[hidden email]> wrote:
> On 12 October 2012 13:41, Tudor Girba <[hidden email]> wrote:
> > Hi,
> >
> > Athens would indeed be great. And I am happy that this investment has high
> > priority in the team. But, I think for the usages that I see, we would need
> > font support. Is there any progress on this front?
> >
>
> Font support is there. I currently working on Morphic rendering (see
> screenshot) and getting VMs for all 3 platforms Athens-ready.
>
> As i said previously, don't expect Athens to support raster fonts. It
> doesn't makes any sense.
> With athens, you can always render number of glyphs into bitmaps and
> draw them as bitmaps later, if you want it,
> but i wouldn't call it 'font support', it is bitmap support. :)
>
> For Cairo backend i did integration with freetype (which already in
> pharo as you know), which means that you can
> render any scalable fonts.
>
> And if you may know, freetype package supports embedded fonts (i.e.
> font data loaded from memory),
> which means you don't even need to have a separate font file along the
> image, you can keep font in image itself.
> As for amount of memory, needed to hold truetype font in image:
> we did a small experiment with Camillo few days ago ,  we took single
> font (Deja Vu sans mono),
> and edited it to have only ascii character set (0..127). The resulting
> font file size is just 30Kb!
>
> Now compare it with following:
>
> (StrikeFont allInstances collect: [:each | each glyphs bits sizeInMemory ]) sum
> 1504444
>
> 1.5 Mb of bitmap data for only single raster font with couple fixed sizes.
>
> For same size, you could have 1500/30  = 50 various vector fonts (if
> only ascii character range of course).
>
>
> > Cheers,
> > Doru
> >
>
>
>
> --
> Best regards,
> Igor Stasenko.
>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>


Reply | Threaded
Open this post in threaded view
|

Re: Pharo on retina display

Sven Van Caekenberghe-2

On 13 Oct 2012, at 08:44, Stéphane Ducasse <[hidden email]> wrote:

>
>> Hi Igor,
>>
>> The only reason we were thinking of the bitmap font support was that there was no ready-made vm to get people to use the new canvas.
>>
>> But, if you are getting the vms ready ... this is fantastic. I would say that as soon as they are ready Moose will likely move to Athens.
>
> Yes Igor is working on the three platforms.  Igor is fixing the windows one currently and he is near the end.
> We are going to release vm with NativeBoost, Freetype, SSL support on all platforms.

Yes, yes, yes !!

It's a long road, but we are moving forward on so many fronts, it will be non-linear indeed.

> Stef
>
>> Cheers,
>> Doru
>>
>>
>>
>> On Fri, Oct 12, 2012 at 2:42 PM, Igor Stasenko <[hidden email]> wrote:
>> On 12 October 2012 13:41, Tudor Girba <[hidden email]> wrote:
>>> Hi,
>>>
>>> Athens would indeed be great. And I am happy that this investment has high
>>> priority in the team. But, I think for the usages that I see, we would need
>>> font support. Is there any progress on this front?
>>>
>>
>> Font support is there. I currently working on Morphic rendering (see
>> screenshot) and getting VMs for all 3 platforms Athens-ready.
>>
>> As i said previously, don't expect Athens to support raster fonts. It
>> doesn't makes any sense.
>> With athens, you can always render number of glyphs into bitmaps and
>> draw them as bitmaps later, if you want it,
>> but i wouldn't call it 'font support', it is bitmap support. :)
>>
>> For Cairo backend i did integration with freetype (which already in
>> pharo as you know), which means that you can
>> render any scalable fonts.
>>
>> And if you may know, freetype package supports embedded fonts (i.e.
>> font data loaded from memory),
>> which means you don't even need to have a separate font file along the
>> image, you can keep font in image itself.
>> As for amount of memory, needed to hold truetype font in image:
>> we did a small experiment with Camillo few days ago ,  we took single
>> font (Deja Vu sans mono),
>> and edited it to have only ascii character set (0..127). The resulting
>> font file size is just 30Kb!
>>
>> Now compare it with following:
>>
>> (StrikeFont allInstances collect: [:each | each glyphs bits sizeInMemory ]) sum
>> 1504444
>>
>> 1.5 Mb of bitmap data for only single raster font with couple fixed sizes.
>>
>> For same size, you could have 1500/30  = 50 various vector fonts (if
>> only ascii character range of course).
>>
>>
>>> Cheers,
>>> Doru
>>>
>>
>>
>>
>> --
>> Best regards,
>> Igor Stasenko.
>>
>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Every thing has its own flow"
>>
>
>


12