问题标签 [off-screen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
143 浏览

ios - “屏幕外” ADBannerView 会计算展示次数吗?

我正在维护 ADBannerView 的唯一实例(如文档所建议的那样),并且存在于整个 UX 中的某些点。

但我可以看到 bannerViewDidLoadAd: 即使没有显示横幅,也会继续调用回调。

一方面这真的很好(这就是我做出这个设计的原因),但我想知道这些加载是否会在某些汇总统计信息中计为展示次数?这可能会以某种意想不到的方式影响我的收入。

会算吗?你的经验是什么?

0 投票
4 回答
899 浏览

java - Java3D离屏渲染内存泄漏

为了能够保存我的 3d 画布的快照,我Canvas3D以以下方式进行了扩展:

我将它添加为宇宙的视图。这里描述了一个主要策略:http ://www.java2s.com/Code/Java/3D/PrintCanvas3D.htm

问题在于内存泄漏。我的应用程序开始崩溃,当我尝试分析时,我发现一个实例OffScreenCanvas3D 占用了将近50MB,其中大部分来自两个ArrayLists。较小的包含 的实例,javax.media.j3d.RenderMolecule较大的包含 Object 的实例,每个实例都包含javax.media.j3d.RenderAtomListInfojavax.media.j3d.RenderMolecule

任何人都可以建议我,我做错了什么?

更新

我想澄清的是,即使doRender根本没有调用(例如,应用程序已启动并且没有采取更多操作),内存仍在累积。下面我将添加可以更好地显示情况的图像。

第一个是空闲运行应用程序的内存图。 记忆力

第二个是对象占用内存的饼图。这(a)是为 的实例分配的内存OffScreenCanvas3D(b)是所有其他对象占用的内存。 内存饼图

同样在下面,您可以看到dirtyDlistPerRinfoListdirtyRenderMoleculeList占用大部分空间。任何带有dirty前缀的东西都给我一种代码不好的感觉,我不知道为什么 在此处输入图像描述

更新2

看来问题出在接下来的部分:

  1. 的对象dirtyDlistPerRinfoList被添加到类的updateCanvasResource方法中RenderBin。这发生在所有画布上。
  2. dirtyDlistPerRinfoListupdateDirtyDisplayLists在类的方法中被清除RenderBin
  3. updateDirtyDisplayLists对于每个正在渲染的 Canvas3D,在类中从doWork(可怕的 1300 行方法)调用。Renderer

事情是offScreen画布不是一直在渲染,而是在图像将要保存的那一刻。是的,保存图像后,所有累积的内存dirtyDlistPerRinfoList都会被释放。

所以接下来的主要问题是:

的数据dirtyDlistPerRinfoList不断添加到未渲染的画布中,因此不会删除内存。这是我的Java3D错误的错吗?

0 投票
1 回答
744 浏览

wpf - 离屏(FBO)OpenGL渲染为WPF创建帧?

我有一个 WPF 应用程序,屏幕的一部分显示了一个需要以 3D 动态呈现的对象,速度可能为 20 FPS。我知道通常 WPF 应用程序会使用 DirectX 进行 3D 渲染。(我也知道 WFP 有一个简化的 3D API,但我认为这不适用于我的情况,因为我有太多的三角形要渲染。)在我的情况下,我想使用 OpenGL,因为很有可能整个应用程序将被移植到非 Windows 机器上,我不想重写 3D 代码。

我看到有人尝试创建一个 OpenGL 可以直接渲染到其中的 WPF 控件,但是它们看起来都太粗糙/太冒险了。

作为一种更安全的方法,我认为我可以使用带有 OpenGL 的 FBO 将帧渲染到屏幕外,然后获取位图并将它们作为常规 2D 图像实时传递给 WPF。

我的问题是关于速度。您是否预计该计划中存在破坏交易的瓶颈?我假设 FBO 渲染将与 OpenGL 端的直接窗口渲染一样快?我希望从渲染的 OpenGL 图像 (FBO) 中提取位图应该很快?我不太确定将这些图像交给 WFP 并看到它们以 20 FPS 的速度更新。

你有具体的经验可以帮助我决定这是否是一个合理的方法吗?

0 投票
1 回答
1390 浏览

android - Leadbolt 横幅屏幕外

我的横幅有时会从屏幕上消失。我正在使用带有以下代码的 Leadbolt SDK 4.00a 和 Android 4.1:

图片 1 http://imageshack.us/a/img27/9539/sc20130117140203.png 图片 2 http://imageshack.us/a/img690/8301/sc20130117140148.png

有人有同样的问题吗?

0 投票
2 回答
424 浏览

java - 为什么深度测试在颜色选择的屏幕外渲染中不起作用?

我正在使用着色和离屏渲染在 OpenGL 上实现 QUADS 的选择工具。但是深度测试似乎在离屏渲染和某些角度和旋转下不起作用,选择了前面那个后面的QUAD。关于如何设置缓冲区和/或附件的任何想法?这个问题和我的法线有什么关系???还是只是深度测试??我个人认为这是深度测试,我就是无法让该死的东西工作!!!

这是我的缓冲区初始化函数:

当我取消注释“注释 1”和“注释 2”部分时,出现渲染缓冲区问题。但我听说我应该将“除了颜色附件之外的渲染缓冲区附加到 GL_DEPTH_ATTACHMENT”。(来源:看看这个 Q。我想知道我该怎么做。

另外,这是我的使用代码:

0 投票
1 回答
129 浏览

javascript - 在屏幕外的文本上使用 javascript 替换

假设我有很长的文本,例如

Lorem ipsum dolor sit amet, consectetur adipiscing elit。在发酵 purus eu ipsum gravida sagittis。Curabitur auctor、enim vitae accumsan viverra、tellus massa cursus diam、posuere mattis turpis metus a risus。Quisque eu nisl nulla,id fringilla velit。Aenean tincidunt accumsan odio quis rhoncus。Cras molestie cursus tincidunt。Phasellus lectus lectus,pellentesque nec tempor nec,hendrerit et nulla。Nunc blandit porttitor Tellus。Phasellus vulputate diam dui。Mauris eget elit diam。Sed m​​ollis 前庭 mi,quis fringilla urna tempor non。

假设从

Cras molestie cursus tincidunt。Phasellus lectus lectus,pellentesque nec tempor nec,hendrerit et nulla。Nunc blandit porttitor Tellus。Phasellus vulputate diam dui。Mauris eget elit diam。Sed m​​ollis 前庭 mi,quis fringilla urna tempor non。

文本不在屏幕上 - 您需要滚动才能看到它。我想.replace()在屏幕外的所有文本上使用 javascript,在这种情况下以“Cras molestie”等开头。我无法知道哪些文本是屏幕外的,哪些不是,所以我可以' t 只是修改 HTML。

0 投票
2 回答
5502 浏览

opengl - 我可以使用 OpenGL 进行离屏渲染吗?

我想尝试制作一个简单的程序,该程序采用 3D 模型并将其渲染为图像。有什么方法可以使用 OpenGL 渲染图像并将其放入保存图像而不是显示图像的变量中?我不想看到我正在渲染的内容,我只想保存它。有没有办法用 OpenGL 做到这一点?

0 投票
0 回答
315 浏览

opengl - OpenGL,使用模板计算屏幕外硬阴影

我试图弄清楚是否以及如何计算来自屏幕外多个光源的硬阴影。

序言:场景非常复杂,多达数百万个三角形,多达数百种不同的光源、灯光、材质和深度启用以及最大精度(至少 10kx10k 像素地面分辨率)。阴影只不过是平面投影阴影,也就是说,我通过预乘阴影矩阵(给定光源位置和平面)来渲染对象本身。多个物体,多个光源,但只是一个平面。

因此,实时是不可能的。同样不可能考虑增加模板值,因为我只有一个字节(255 个有用值)并且我可能有超过 255 个光源。

因此我的想法是在屏幕外渲染(纹理或渲染缓冲区图像)。

对于每个光源,我计算我的阴影矩阵并应用它。然后我用特定的模板编号(即 1)渲染我的第一个对象。然后我渲染我的第二个对象。我只需要在模板编号为 1 的地方渲染它,并且我需要将所有其他像素归零,因为我只对硬阴影感兴趣。然后是第三个对象,以此类推。最后,我对第二个光源重复所有过程,依此类推。

可能吗?更好的纹理或渲染缓冲图像?计算出硬阴影后,我需要在 cpu 上将其取回以对其进行分析并将其渲染到场景中的地面上。

理想情况下,我只需要附加到我的 FBO 的模板缓冲区,但他们在这里说:

Stencil 永远不会制作 STENCIL 缓冲区。所有 GPU 和所有驱动程序都不支持独立的模板缓冲区。如果需要模板缓冲区,则需要制作一个 Depth=24,Stencil=8 缓冲区,也称为 D24S8。请在此页面上搜索有关 GL_EXT_packed_depth_stencil 的示例。

这在今天仍然有效吗?

环顾四周,我在这里找到了一种通过在每个对象之间渲染全屏多边形来将所有其他像素归零的方法,但我想知道是否有更有效的方法..?

0 投票
1 回答
735 浏览

opengl - Apple OSX OpenGL 离线渲染与 CoreGL

我正在尝试使用 CoreGL 和 Framebuffer 在 OSX 上进行渲染:似乎三角形渲染根本不起作用,而例如带有颜色的 glClear 将显示在生成的 PPM 图像中。

我已经尝试了以下代码的几种变体,但现在在我看来,这在 OSX 上是一项不可能完成的任务。

0 投票
0 回答
158 浏览

android - 从屏幕底部到屏幕上的android动画按钮是空白的

我有一个带有 5 个按钮的 RelativeLayout 容器。

当我从屏幕外(屏幕下方)使用 TranslationAnimation 时,按钮是空白的,直到动画完成。在动画结束时,我明确地绘制了按钮,它们出现在正确的位置。

我也有一个类似的容器和按钮,我从右侧屏幕外在屏幕上设置动画。这个容器显示了动画期间和之后的所有按钮,正如我所期望的那样。

此外,当我将第一组按钮设置为下方的屏幕外位置时,它们在整个动画过程中都是可见的。

仅当从屏幕下方动画到屏幕上时才会出现此问题。