这个问题与浏览器如何将整个页面呈现为平铺图像有关(而不是在页面中呈现图像。)我对内存成本最感兴趣。
我的理解是,Chrome等浏览器会布局整个页面,但会根据需要在小方块中渲染部分内容。当用户滚动页面时,仅呈现不存在的图块。平铺生成通常发生在后台线程中,但这个问题与线程无关。
所以问题是,这种方法的总内存使用量是多少?
假设屏幕为1024x768,并且图块为64x64像素。所以屏幕是16x12瓷砖。此外,我假设每个图块是每像素32位,Direct2D是渲染平台,Direct2D SwapChainPanel
用于表现。
在给定的渲染周期中,可能只渲染总(16x12)个图块的一小部分。但是,这个数字可能不止一个。因此
因此,除了图块之外,还需要两个全屏尺寸(1024x768)的32bpp位图。
问题:
中间副本的数量是微妙的,需要仔细考虑,所以我真的很欣赏精确的答案。请不要猜测。
答案 0 :(得分:-1)
使用Chrome我认为它不是渲染引擎中的实现,而是前端浏览器。我使用CEF并使用了使用Chrome / Webkit / Blink的Awesomium。您只需传递一个位图来呈现数据,因此它是必须决定最佳策略的前端。
我不认为有人会实现那么小的瓷砖。我认为它们是256 x宽度(除非宽度特别大)条纹。