问题标签 [hardware-acceleration]

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 回答
518 浏览

3d - gpu, old hardware, 3d acceleration and a lib

i am writing a 2d lib which will have 3d acceleration but i'd like to do it in a way that it will efficiently run on older HW. Possibly typedefs to hide options/functions that your targeted mode does not support. (also there may be emulation func turned on)

What are some of the things older HW do? here is a list of questions and things i know of.

  • Tiles, this will be unsupported. Its to old, my lib will support pixel access
  • Single pixel buffer with scrolling. Example GBA
  • multiple surface with surface to surface quick blt (no stretch)
  • multiple surface with surface to surface quick blt with stretch (maybe this was emulated? does any HW stretch images for you?)
  • HW pixel fill (i thought i saw the option in DX)
  • HW transparent colour? (colour which is transparent, thought i seen in DX specs)
  • Textures, older use to be a power of 2. The width does not have to be the same power of 2 as height? (example 64x256), does any require them to be the same
  • Textures, newer HW can have them any width and height (or is this a lie?)
  • Textures can be in crazy formats (ARGB 8888, ABGR 8888, ABGR 2 10 10 10)

Also, i cannot do a texture to texture blit? as in copy 60x40 from texture A to B in HW ? Also can textures be in palette? (i wont support this) and finally i should keep in mind about shaders 8)

What else am i missing?

0 投票
2 回答
1503 浏览

opengl - 如何在 Windows 上检测 OpenGL 的硬件加速

是否有检测用户系统当前硬件加速级别的 Win32 API 调用?我不需要更改设置,但如果硬件加速被禁用,我想缩减 OpenGL 显示的细节级别。

0 投票
2 回答
2763 浏览

wpf - 丑陋的 WPF 文本渲染 - 无法在 Vista 上禁用硬件加速

我正在尝试 WPF 中的文本渲染问题(第三方应用程序和我的应用程序)。标签和其他文本无法正确显示,看起来有点模糊,并且周围有一些随机颜色的像素。

我正在开发一台更新了 Vista SP1、.NET 3.5 SP1 和图形驱动程序的低端垃圾机(SiS Mirage 3 图形)。

另一个有类似问题的可怜人被回答尝试使用 Microsoft 指令更改注册表项来禁用 WPF 的硬件加速:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration

对我来说最终的问题是:我在注册表中根本找不到“Avalon.Graphics”。它不在那里。有人有线索吗?

谢谢。

0 投票
4 回答
667 浏览

3d - 任何高级的硬件加速 3D 引擎?

我在Flash中编程了很长时间。有趣的是,大多数东西,包括开源库,在 Flash 世界中都是非常高级的。这很棒,因为我们可以快速建立起来。但是 Flash 太慢了(我想做简历、视觉效果、生成艺术等)。

我尝试过 glut、Processing、OpenFrameworks,我发现它们与 Flash 太不同了。

所以,我想知道是否有任何高级(如 PaperVision3D)、快速(更好的硬件加速)3D 引擎?它可以是任何语言,但在 C++/Java/Python 等中更好。

0 投票
4 回答
19659 浏览

wpf - 如何在 wpf 中禁用硬件加速?

在 WPF 中禁用硬件加速的过程是什么?究竟是什么?它是 Windows 设置、Visual Studio 设置还是您在 WPF 项目代码中更改的内容?它只会影响您正在运行的程序还是会影响整个系统?

0 投票
2 回答
2062 浏览

vb.net - 如何在 vb.net 中加速生成 MD5 校验和?

我正在处理一些驻留在 P2 (Panasonic) 卡上的非常大的文件。我们采用的部分过程是首先生成我们要复制的文件的校验和,然后复制文件,然后对文件运行校验和以确认它复制正常。问题是文件很大(70 GB+)并且需要很长时间才能完成。这是一个问题,因为我们最终将处理数千个这样的文件。

我想找到一种更快的方法来生成校验和,而不是使用 System.Security.Cryptography.MD5CryptoServiceProvider 我不在乎这是否意味着使用专门的硬件卡,只要它可以工作并且不会太贵。我希望有一种编码方法,它提供一些关于该过程进行了多远的反馈,以便我可以像现在一样显示它。

该应用程序是用 vb.net 编写的。我希望能够在我的应用程序中将它用作组件、库、引用,但如果生成校验和的速度有足够的改进,我愿意调用外部应用程序。

不用说,校验和必须一致且正确。:-)

提前感谢您的时间和努力,

理查德

0 投票
5 回答
4386 浏览

opencl - 我的 OpenCL 内核在更快的硬件上速度较慢。但为什么呢?

当我为一个多核编程课程完成我的项目编码时,我想到了一些非常奇怪的东西,我想和你讨论。

我们被要求创建任何在为多核平台编程时会显示出显着改进的程序。我决定尝试在 GPU 上编写代码来试用 OpenCL。我选择了矩阵卷积问题,因为我对它非常熟悉(我之前使用 open_mpi 将它并行化,对大图像有很大的加速)。

所以在这里,我选择了一个大的 GIF 文件 (2.5 MB) [2816X2112] 并运行顺序版本(原始代码),平均得到 15.3 秒。

然后我运行我刚刚在 MBP 集成 GeForce 9400M 上编写的新 OpenCL 版本,平均时间为 1.26 秒。到目前为止一切都很好,加速了 12 倍!

但是现在我进入我的节能面板打开“图形性能模式”该模式关闭 GeForce 9400M 并打开我系统的 Geforce 9600M GT。苹果表示,这张卡的速度是集成卡的两倍。

猜猜看,我使用 kick-ass 显卡的平均时间是 3.2 秒……我的 9600M GT 似乎比 9400M 慢了两倍以上。

对于那些倾向于 OpenCL 的人,我在开始之前将所有数据复制到远程缓冲区,因此实际计算不需要往返于主 ram。此外,我让 OpenCL 确定最佳的本地工作大小,因为我读到他们在计算出该参数方面做得很好。

有人有线索吗?

编辑:这里有 makefile 的完整源代码http://www.mathieusavard.info/convolution.zip

0 投票
5 回答
13255 浏览

opengl - 哪些 OpenGL 函数不是 GPU 加速的?

当我读到这个(来自OpenGL wiki)时,我很震惊:

glTranslate、glRotate、glScale

这些硬件加速了吗?

不,没有已知的 GPU 可以执行此操作。驱动程序在 CPU 上计算矩阵并将其上传到 GPU。

所有其他矩阵运算也在 CPU 上完成:glPushMatrix、glPopMatrix、glLoadIdentity、glFrustum、glOrtho。

这就是为什么这些函数在 GL 3.0 中被认为已弃用的原因。您应该拥有自己的数学库,构建自己的矩阵,将矩阵上传到着色器。

很长一段时间以来,认为大多数 OpenGL 函数都使用 GPU 进行计算。我不确定这是否是一个普遍的误解,但经过一段时间的思考,这是有道理的。由于状态切换太多,旧的 OpenGL 函数(2.x 和更早版本)确实不适合实际应用程序。

这让我意识到,可能许多 OpenGL 函数根本不使用 GPU。

所以,问题是:

哪些 OpenGL 函数调用不使用 GPU?

我相信知道上述问题的答案将帮助我成为一个更好的 OpenGL 程序员。请分享您的一些见解。

编辑:

我知道这个问题很容易导致优化级别。这很好,但这不是这个问题的意图。

如果有人知道不使用 GPU 的某个流行实现(如 AshleysBrain 建议的、nVidia/ATI 和可能依赖于操作系统的)上的一组 GL 函数,那就是我所追求的!

合理的优化指南稍后会出现。让我们关注这个主题的功能。

编辑2:

本主题不是关于矩阵转换如何工作的。还有其他 主题

0 投票
1 回答
2547 浏览

java - Java2D OpenGL 硬件加速不起作用

即使是最简单的程序,它也不适用于 OpenGL。这就是我正在做的事情。

Java2Demo.jar通常包含在 JDK 中。)

文本输出为:

为屏幕 0 上的默认配置启用 OpenGL 管道

当我不传入上述 VM 参数时,一切正常(但速度很慢)。当我传入上述参数时,什么都没有出现。如果我在它周围移动窗口,它会捕捉到它上面的任何图像,并将其混为一谈。

我正在运行 Windows XP Pro SP3(Microsoft Windows XP [版本 5.1.2600])(在 OS X 10.5.8 上的 Parallels 下)。

我使用“Geeks3D GPU Caps Viewer”告诉我我有 Open GL 版本:

2.0 英伟达-1.5.48

我已经使用两个版本的 JVM 进行了尝试。第一的:

第二:

0 投票
2 回答
7845 浏览

qt - QGLWidget 和硬件加速?

大家好,

简单地继承 QGLWidget 并重新实现 paintEvent() 是否使用 OpenGL 和硬件加速?我创建了一个 QPainter 并在这个 paintEvent() 中绘制 QImages。

QGLWidget 的paintEvent() 方法内部发生了什么?它是否将图像(QImage,QPixmap)转换为 OpenGL 纹理?

它是否使用硬件加速来进行图像缩放?

在此先感谢,