问题标签 [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.
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?
opengl - 如何在 Windows 上检测 OpenGL 的硬件加速
是否有检测用户系统当前硬件加速级别的 Win32 API 调用?我不需要更改设置,但如果硬件加速被禁用,我想缩减 OpenGL 显示的细节级别。
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”。它不在那里。有人有线索吗?
谢谢。
3d - 任何高级的硬件加速 3D 引擎?
我在Flash中编程了很长时间。有趣的是,大多数东西,包括开源库,在 Flash 世界中都是非常高级的。这很棒,因为我们可以快速建立起来。但是 Flash 太慢了(我想做简历、视觉效果、生成艺术等)。
我尝试过 glut、Processing、OpenFrameworks,我发现它们与 Flash 太不同了。
所以,我想知道是否有任何高级(如 PaperVision3D)、快速(更好的硬件加速)3D 引擎?它可以是任何语言,但在 C++/Java/Python 等中更好。
wpf - 如何在 wpf 中禁用硬件加速?
在 WPF 中禁用硬件加速的过程是什么?究竟是什么?它是 Windows 设置、Visual Studio 设置还是您在 WPF 项目代码中更改的内容?它只会影响您正在运行的程序还是会影响整个系统?
vb.net - 如何在 vb.net 中加速生成 MD5 校验和?
我正在处理一些驻留在 P2 (Panasonic) 卡上的非常大的文件。我们采用的部分过程是首先生成我们要复制的文件的校验和,然后复制文件,然后对文件运行校验和以确认它复制正常。问题是文件很大(70 GB+)并且需要很长时间才能完成。这是一个问题,因为我们最终将处理数千个这样的文件。
我想找到一种更快的方法来生成校验和,而不是使用 System.Security.Cryptography.MD5CryptoServiceProvider 我不在乎这是否意味着使用专门的硬件卡,只要它可以工作并且不会太贵。我希望有一种编码方法,它提供一些关于该过程进行了多远的反馈,以便我可以像现在一样显示它。
该应用程序是用 vb.net 编写的。我希望能够在我的应用程序中将它用作组件、库、引用,但如果生成校验和的速度有足够的改进,我愿意调用外部应用程序。
不用说,校验和必须一致且正确。:-)
提前感谢您的时间和努力,
理查德
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
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:
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 进行了尝试。第一的:
第二:
qt - QGLWidget 和硬件加速?
大家好,
简单地继承 QGLWidget 并重新实现 paintEvent() 是否使用 OpenGL 和硬件加速?我创建了一个 QPainter 并在这个 paintEvent() 中绘制 QImages。
QGLWidget 的paintEvent() 方法内部发生了什么?它是否将图像(QImage,QPixmap)转换为 OpenGL 纹理?
它是否使用硬件加速来进行图像缩放?
在此先感谢,