问题标签 [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 回答
9227 浏览

performance - OpenGL:快速离屏渲染

我需要使用 OpenGL 在屏幕外渲染很多(数万)图像。
我在 Windows 下运行并使用 QT 作为框架。解决方案只能是windows,这并不重要。

从我使用谷歌发现的情况来看,有很多选项可以做到这 一点这篇文章似乎相当过时,提出了一些方法,其中相关的方法是:

  • 特定于 Windows - 使用CreateDIBSection并以某种方式将纹理绑定到它。
  • 使用我的卡上似乎支持的 pbuffers 扩展。

该线程(消息 6)建议使用 QT 特定的方式来执行此操作QGLWidget::renderPixmap

我的问题是——哪一个是最快的方式?pbuffers 似乎是最安全的选择,因为它保证在硬件上执行但不是使用 CreateDIB 方法也通过硬件?QT方法呢?这似乎存在一些上下文创建问题。当然,我不想为我创建的每个图像创建一个新的上下文。
有没有人对此有一些好的经验?


编辑:回答评论 -
我有一个不变的场景,根本没有改变,我从许多不同的角度渲染它。现在,图像会返回给用户并由 CPU 处理。将来它们可能会在 GPU 上进行处理。

0 投票
4 回答
9090 浏览

iphone - UIView:如何进行无损绘图?

我原来的问题:

我正在创建一个简单的绘图应用程序,并且需要能够在我的drawRect. 在不完全替换现有内容的情况下绘制现有内容的正确方法是什么?

根据在这里和其他地方收到的答案,这就是交易。

  1. 您应该准备好在drawRect 调用时重新绘制整个矩形。

  2. 无法通过执行以下操作来防止内容被删除:

    [self setClearsContextBeforeDrawing: NO];

    这只是对图形引擎的一个提示,让它为您预先清除视图是没有意义的,因为无论如何您可能需要重新绘制整个区域。它可能会阻止您的视图被自动删除,但您不能依赖它

  3. 要在视图顶部绘制而不擦除,请在屏幕外位图上下文中进行绘图(系统永远不会清除该上下文。)然后在您的 中drawRect,从该屏幕外缓冲区复制到视图。

例子:

TODO:任何人都可以优化,drawRect以便只使用(通常很小的)修改后的矩形区域进行复制吗?

0 投票
2 回答
2098 浏览

wpf - WPF - 在屏幕外渲染的网格上模拟鼠标事件

我正在将具有多个元素(按钮、文本框等)的 WPF 网格渲染为位图,然后将其用作 Direct3D 场景中 3D 表面的纹理。对于用户交互,我创建了一条从 2D 鼠标光标位置到 3D 场景的 3D 射线,找到与 gui 表面的交点。所以我知道用户在 WPF 网格上单击的位置,但从那里我被卡住了:

如何在 WPF 元素上模拟鼠标事件,而它们实际上并未显示在打开的窗口中而是呈现在屏幕外?

最近,我正在研究 UIAutomation 和 RaiseEvent 但它们用于将事件发送到单个元素,而不是整个可视化树。手动遍历树并在光标位置查找元素将是一种选择,但我还没有找到一种方法来准确地做到这一点。VisualTreeHelper.HitTest 是一个好的开始,但它没有找到 TextBox,而是找到了 TextBoxView,而不是 ListBox,它找到了 Border。

编辑:在 HitTest 的结果回调中返回 HitTestResultBehavior.Continue 让我可以遍历给定点的所有元素。我现在可以将鼠标事件发送到所有这些元素,但 MouseEventArgs 对象的值是真实鼠标的值。所以我必须创建一个显然是不可能的自定义 MouseDevice。

0 投票
1 回答
91 浏览

objective-c - 屏幕外的图形操作会产生处理开销吗?

我正在尝试为应用程序优化一些图形例程,我想知道是屏幕外动画(例如,[object startAnimating])还是通过设置它的矩形(屏幕外)来简单移动 UIImageView,有任何处理器开销,还是在屏幕外时以某种方式忽略它们?

非常感谢您的帮助。

0 投票
4 回答
12947 浏览

image - 在内存中渲染 MATLAB 图

是否有任何替代方法可以使用getframe并将saveas图形的内容保存到光栅图像以供进一步处理?

方法一:getframe

这具有在调用中显示图形以执行屏幕捕获的严重缺点,getframe()并且在循环中执行此类渲染时存在问题(即content在每次迭代中保存为视频帧)。

方法二:saveas

这种方法具有写入磁盘的严重缺点,这在多线程应用程序中存在问题,并且比直接渲染到内存要慢。由于saveas()在调用 PNG 编码器之前显然会渲染到内存,所以我想要的是可能的,但我在 MATLAB 文档中找不到任何只执行渲染部分的函数。

问题

您是否知道将任意axes内容渲染到光栅图像的另一种方法?

0 投票
2 回答
737 浏览

iphone - iPad - 在屏幕上查看动画时没有用户交互

好吧,这是一个新手问题,所以我提前道歉。我有一个 UIView,我在屏幕外的 Interface Builder 中布置了它。当用户按下按钮时,我想在屏幕上为这个视图设置动画。它可以工作,但我无法与 UIView 中的任何按钮交互。我已经读过,当您制作动画时只有视图会移动,并且实际对象会保留它们的位置,所以我尝试设置 UIViews 图层的位置,但这会导致我的 UIView 菜单在左侧显示额外的 81 个像素。发生这种情况时,我可以与按钮交互,但我需要它与屏幕右侧齐平。这是我在 openMenu 按钮上的 IBAction 中的代码:

然后在 animationDidStop 方法中:

帮助???

0 投票
3 回答
3084 浏览

css - 如何将单个 div 移出屏幕

我有 2 个重叠的 div,如下所示:

我需要做的是在屏幕外设置“后退”div一段时间,然后将其移回。我尝试使用一堆不同的 jquery 方法移动它,但由于某种原因,它们移动了所有div 而不是具有指定 id 的那个。

那么如何在不影响顶部的情况下仅将底部的一个移出屏幕?它根本不需要动画;我只需要把它放在一边直到需要。(并且“隐藏”不起作用,因为它弄乱了我的闪光灯,所以如果您不介意,请从您的建议中省略它。:)

谢谢。

0 投票
3 回答
940 浏览

jquery - 扩展DIV如何检查它何时超过屏幕尺寸

我们有一个 DIV,它根据表单中的用户选项加载内容。DIV 可以变大以在屏幕上看到,因为它也是一个粘性元素并在屏幕上跟随用户。

如果 DIV 本身的某些部分不在屏幕上,我们将如何让 DIV 工作,如果是,则显示一个可以链接到完整内容的按钮。

有任何想法吗?

奇妙

0 投票
1 回答
533 浏览

java - 在非光栅图形配置中显示 JFrame

问候,

我正在尝试在非屏幕设备中获取 JFrame 绘图。JFrame 构造函数有一个

似乎允许这样做:

我的第一次尝试是创建自己的 GraphicsConfiguration,当调用 getType() 时,他的 GraphicsDevice 报告了 GraphicsDevice.TYPE_IMAGE_BUFFER。

但是 JFrame.init 专门查找类型并在类型不是 TYPE_RASTER_SCREEN 时抛出异常:

接下来我尝试让我返回的 GraphicsDevice 报告 GraphicsDevice.TYPE_RASTER_SCREEN。这允许正确初始化 JFrame,但是当它显示它时,我得到了

所以我已经没有想法了,关于如何绘制一个不会出现在屏幕上的 JFrame,但它的布局和功能从来都不是那么完整。

我在这里陷入了一个兔子洞,或者这可以做到吗?

0 投票
4 回答
9819 浏览

android - android截取屏幕外页面

我正在开发一个安卓应用程序。我有一个活动,比如说 A,它用视图填充整个屏幕。在 AI 中单击一个按钮想启动另一个活动,比如说 B,它也有一些视图和控件。我希望活动 B 不在屏幕上,并想从 A 截取 B 的屏幕截图。是否可以?

注意:我通过将绘图缓存保存到位图中成功地截取了页面 A 的屏幕截图,但努力截取屏幕外页面的屏幕截图。