01.07.2019, 13:30, "Ville Voutilainen" <ville.voutilai...@gmail.com>:
> On Sat, 29 Jun 2019 at 14:34, Konstantin Tokarev <annu...@yandex.ru> wrote:
>>  29.06.2019, 14:27, "Konstantin Tokarev" <annu...@yandex.ru>:
>>  > 29.06.2019, 14:00, "Giuseppe D'Angelo" <giuseppe.dang...@kdab.com>:
>>  >> Il 29/06/19 12:59, Konstantin Tokarev ha scritto:
>>  >>>> This makes the exercise an couple of orders of magnitude harder, not
>>  >>>> simpler. Which cross platform, efficient, flicker-free, (possibly
>>  >>>> supported out of the box by some Qt module) ways are available right 
>> now
>>  >>>> to have a QWidget host another process' raster content?
>>  >>> Push rendered frames through QLocalSocket :)
>>  >>
>>  >> *BUZZER* wrong answer: I asked for _efficient_. :-P
>>  >
>>  > For docs it may be efficient enough: we can render whole page and then 
>> scroll it
>>  > on client side
>>
>>  Or even better: split page into "tiles" (i.e. portions of page with height 
>> of viewport) and
>>  render long page as a sequnece of tiles. This would reduce time needed to 
>> show initial
>>  content.
>>
>>  (Idea borrowed from WebKit and simplified to extreme)
>
> That sounds curiously like "reimplement how Chromium renders web pages" to me.

Not exactly:

1. We don't have any updates, so all tiles are immutable
2. We don't need to support hardware acceleration for CSS animations, so we 
don't need
to create dedicated tiles for some of page elements
3. We can assume that page contents is properly flowed into column, so we don't 
need
to support tiling in horizontal direction, and tiling system is thus reduced to 
one-dimensional
array of immutable images
4. We also don't necessarily need to delay rendering of tiles until they are 
exposed (but this
may be a good additional feature)

If we include assumption #4, we can just render document 
paragraph-by-paragraph, encode
resulting images of paragraphs to PNG and send to UI process.


-- 
Regards,
Konstantin

_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to