- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在上下文中使用 preserveDrawingBuffer 时,我们需要注意自行清除绘图缓冲区。我在我的应用中使用了这种技术。
我读过一些文章说 - 将此标志设置为 false 可以获得更好的性能。
在我的应用程序中,当设置为 false 时,在某些情况下我需要自己清除前台缓冲区,因为当没有绘图发生时我们仍然可以看到之前绘制的内容。
我的问题是,为了获得更好的性能,现在是否值得将我的应用颠倒过来并涵盖所有情况?真的有那么大的进步吗?
是否有任何演示显示当此标志为 true(并执行 gl.clear(..)
)与 false 时性能不同?
最佳答案
我知道这已经在其他地方得到了回答,但我找不到所以....
preserveDrawingBuffer: false
意味着 WebGL 可以交换缓冲区而不是复制缓冲区。
WebGL Canvas 有 2 个缓冲区。您正在绘制的那个和正在显示的那个。当需要绘制网页时,WebGL 有 2 个选项
将绘图缓冲区复制到显示缓冲区。
此操作显然较慢,因为复制数千或数百万像素不是免费操作
交换两个缓冲区。
这个操作实际上是即时的,因为除了交换之外什么都不需要发生2 个变量的内容。
WebGL 是否交换或复制取决于浏览器和各种其他设置,但如果 preserveDrawingBuffer
为 false
WebGL 可以交换,如果它为 true
它不能。
如果您想查看性能差异,我建议您在手机上试用您的应用。确保抗锯齿也已关闭,因为抗锯齿需要一个解析步骤,这是有效的复制操作。
关于javascript - preserveDrawingBuffer false - 值得付出努力吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27746091/
我正在尝试为我的项目创建一些单元测试,经过大量挖掘之后,我发现了Effort,这个想法很棒,它模拟数据库而不是处理伪造的DBContext,顺便说一句,很难做到正确使用复杂的架构。 但是,我将用户的电
我正在尝试对某些响应 Entity Framework 数据库上下文的类进行单元测试。为了寻求帮助,我设法找到了一个名为 Effort 的库,它似乎有点旧,而且没有很好的文档记录,但它似乎可以工作,而
这两天,Auto-GPT 爆火 https://github.com/Torantulino/Auto-GPT 它是一款让最强语言模型GPT-4能够自主完成任务的模型,让整个AI圈疯
为什么会出现这个异常?这是错误吗? 我正在使用 EF 测试库 Effort 创建我的数据库的内存实例并遇到这个有趣的场景: 打开DbContext1 将项目添加到表(不保存) 关闭DbContext1
我是一名优秀的程序员,十分优秀!