Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift SuppresseIncrementalRendering在做什么?_Swift_Xcode_Rendering_Wkwebview_Wkwebviewconfiguration - Fatal编程技术网

Swift SuppresseIncrementalRendering在做什么?

Swift SuppresseIncrementalRendering在做什么?,swift,xcode,rendering,wkwebview,wkwebviewconfiguration,Swift,Xcode,Rendering,Wkwebview,Wkwebviewconfiguration,我正在使用最新版本的Xcode和Swift 我在谷歌上搜索,想让我的KWWebView更快,结果发现: webConfiguration.suppressesIncrementalRendering = true 文件说明如下: webConfiguration.suppressesIncrementalRendering = true 一个布尔值,指示web视图是否抑制内容 渲染,直到它完全加载到内存中 但这意味着什么?这是否意味着,只要不是所有资源(如图像和javascript文件)都被

我正在使用最新版本的
Xcode
Swift

我在谷歌上搜索,想让我的
KWWebView
更快,结果发现:

webConfiguration.suppressesIncrementalRendering = true
文件说明如下:

webConfiguration.suppressesIncrementalRendering = true
一个布尔值,指示web视图是否抑制内容 渲染,直到它完全加载到内存中


但这意味着什么?这是否意味着,只要不是所有资源(如图像和javascript文件)都被
WKWebView
完全加载,html就不会被呈现和显示?

正如文档中所述,它是一个标志,告诉webview引擎等待或不等待,直到事情设置好并准备好。是扫描文档(html+相关资源)以检查要定期重画的内容,还是等待加载并准备好全部内容

WebEngine:

呈现是一个渐进的过程,取决于组成页面的资源(js、Css、图像…)。重要的是要理解,打开或关闭此功能只会打开/关闭加载内容的渲染算法

如何使我的页面更快?

很多因素,渲染算法(引擎),脚本有多重(包、内存分配、事件传递和处理等),图像的大小,CSS的结构有多好,以及它的层次选择器组织(CSS解析和应用程序)。 在页面中加载(包括)资产的顺序

您始终可以在现代浏览器上检查页面的配置文件(例如devtools),以了解情况如何、分配的内存大小、捆绑包大小、编写脚本的时间、页面的设计如何消耗/利用设备资源

长话短说:

一般来说,在浏览器中生活时,页面必须经历三个主要阶段,总共五个步骤:

阶段A:内存/计算(CPU)

1-脚本编写:

阶段B:(主要处理CPU)

2-造型

3-布局

C阶段:(GPU电源!)

4-油漆

5-组成

当浏览器决定更新时,它必须通过这些步骤,完全通过或部分通过都会产生很大的不同。考虑下面的例子

如果您有一个div,并且您决定创建一个动画,将其从屏幕的左边缘移动到右边缘,那么您会看到开发人员使用两种方法:

  • 那些只写代码的人: 随时间更改div样式的左值。(很简单吧?)

  • 那些知道这些东西的人: 使用translateX或translate3D进行转换

这两种方法都可以工作,第一种方法会消耗您的CPU,而第二种方法会以非常高的FPS运行

为什么?

第一种方法使用神圣的左值,这意味着浏览器必须重新计算新的左(STEP1)>检查样式(STEP2)>然后进行新布局(STEP23)>绘制(步骤4)>然后进入构图阶段(步骤5

这将花费完全通过5个阶段,这是完全不必要的

另一方面,另一种方法只需要合成(一步#5),因为GPU中的矩阵操作(非常强大的能力!)可以处理使用translate3d或translateX隐含的位移!!你会看到人们谈论在CSS元素中加入translate3d道具来提高性能(哈!),但真正的原因是上面解释的。所以知道引擎盖下发生了什么可以拯救你


无支持渲染是指在开始显示内容之前等待加载所有内容,或者只是在加载内容时尝试进行处理。

如文档中所述,它是一个标志,指示webview引擎等待或不等待,直到设置并准备就绪。是扫描文档(html+相关资源)以检查要定期重画的内容,还是等待加载并准备好全部内容

WebEngine:

呈现是一个渐进的过程,取决于组成页面的资源(js、Css、图像…)。重要的是要理解,打开或关闭此功能只会打开/关闭加载内容的渲染算法

如何使我的页面更快?

很多因素,渲染算法(引擎),脚本有多重(包、内存分配、事件传递和处理等),图像的大小,CSS的结构有多好,以及它的层次选择器组织(CSS解析和应用程序)。 在页面中加载(包括)资产的顺序

您始终可以在现代浏览器上检查页面的配置文件(例如devtools),以了解情况如何、分配的内存大小、捆绑包大小、编写脚本的时间、页面的设计如何消耗/利用设备资源

长话短说:

一般来说,在浏览器中生活时,页面必须经历三个主要阶段,总共五个步骤:

阶段A:内存/计算(CPU)

1-脚本编写:

阶段B:(主要处理CPU)

2-造型

3-布局

C阶段:(GPU电源!)

4-油漆

5-组成

当浏览器决定更新时,它必须通过这些步骤,完全通过或部分通过都会产生很大的不同。考虑下面的例子

如果你有一个div,并且你决定创建一个动画,将它从屏幕的左边缘移动到右边缘,你会看到开发人员在做两个应用程序