CSS渐变是否得到缓存?

CSS渐变是否得到缓存?,css,caching,gradient,Css,Caching,Gradient,我当前的项目使用了很多基于CSS的背景渐变。它们并不是用于每个元素,但对于用户界面来说是非常重要的。 在整合它们时,我无法找到这些梯度如何影响性能的详细答案 显然,当第一次绘制相应的元素时,具有多个渐变将使用处理能力。是否知道梯度生成也可以通过硬件加速,或者只使用CPU 此外,更重要的是,它们是否被缓存?如果是这样的话,两个元素共享相同的“生成”渐变需要什么相同?我的第一个猜测是css语句和元素大小必须相同(即使包含此语句的类不同)。也可能是由类缓存,但元素大小可能不同,因此需要另一个渐变 例如

我当前的项目使用了很多基于CSS的背景渐变。它们并不是用于每个元素,但对于用户界面来说是非常重要的。 在整合它们时,我无法找到这些梯度如何影响性能的详细答案

显然,当第一次绘制相应的元素时,具有多个渐变将使用处理能力。是否知道梯度生成也可以通过硬件加速,或者只使用CPU

此外,更重要的是,它们是否被缓存?如果是这样的话,两个元素共享相同的“生成”渐变需要什么相同?我的第一个猜测是css语句和元素大小必须相同(即使包含此语句的类不同)。也可能是由类缓存,但元素大小可能不同,因此需要另一个渐变


例如,如果我有一个包含15个列表项(li)的列表(ul),每个列表项都有一个背景渐变,包括三个也有背景渐变的元素,那么每个元素类型都有一个恒定的大小。浏览器会生成15或60个渐变吗?

Pankucins是正确的-浏览器将在下载整个CSS文件时缓存该文件。然后在加载页面时呈现样式


每个渐变将分别渲染;但是我真的不认为这会有太大的问题。

我认为CSS缓存只是CSS文件的缓存,因此不需要重复下载。如果我错了,请纠正我,但我认为每次加载页面时都必须呈现样式。我怀疑生成的图像绝对没有缓存。虽然我没有具体检查它,但我相对确信添加渐变会增加web应用程序的内存使用,因为在渲染之前,它会创建为位图。不过,我可能错了;)如果你说的是浏览器缓存由渐变规则创建的位图,那么我99.9%确定它们没有被缓存这不是非常低效吗?我认为这可能无关紧要-如果你真的需要提高你的网站加载时间,你可以使用1px x px的梯度和重复,这样你只加载一个小图像-但我希望这是CSS梯度无论如何做的。