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