【发布时间】:2012-10-23 10:43:38
【问题描述】:
有什么方法可以查询 GPU 以告诉我我网页中的视口当前是否在屏幕上?例如,如果我在 iframe 的画布中渲染了 3d 场景,有没有办法查询硬件(在我的 iframe 内,只有视口中的像素或顶点)来判断我是在屏幕上还是滚动到屏幕外?
我很好奇这是否是我可以在顶点着色器级别做的事情。 WebGL 是否甚至在屏幕外的视口上执行着色器程序?假设它是在画布下方滚动,还是视口被另一个网页浏览器窗口挡住了?有没有办法查询 webgl 的合成部分以查看它是否在视图中或遍历“RenderObject”树以测试它是否在屏幕上然后返回此值?我正在尝试从我正在从事的项目中获得更多性能,并且我正在尝试仅渲染屏幕上可见的内容。
任何可能的想法?这甚至可能吗?谢谢!
【问题讨论】:
标签: html iframe canvas webgl compositing