我有一个使用 3 个画布的 HTML5 应用程序,其中两个包含使用 Three.js 渲染的 WebGL 3D 场景
这三个画布位于一个自定义滑块内,该滑块当时仅以全窗口大小显示一个画布。我遇到的问题是,即使我在初始化期间加载了三个视图,在我滑动到不可见的 webgl 画布之前,还有一些东西没有加载,然后它被加载并显示。当我说加载时,我的意思是渲染中的某些东西,因为场景和所有方法从一开始就可以正常工作。
我检测到这一点是因为在第一次滑动到这个 div 时,它需要一些时间,并且在此期间控件会变得毛躁,用户真的不知道他是否正确单击,因为“幻灯片下一步”按钮的活动状态未激活直到这个未知的加载结束。幻灯片动画也被跳过可能是因为这个加载比滑动花费更多的时间。一旦显示一次,该行为就是正确的行为,它会迅速从一个视图滑到下一个视图。
即使画布不在屏幕上,渲染中是否有选项或浏览器也可以强制执行此加载?理想情况下仅在初始化期间,因为我不希望 GPU 渲染未显示的内容,只需预加载它们即可。