gpt4 book ai didi

windows - 是否可以直接访问视频卡? (无 API)

转载 作者:可可西里 更新时间:2023-11-01 10:27:18 26 4
gpt4 key购买 nike

我现在对使用 OpenGL 有了一些经验,我开始使用它是因为据说它是调用视频卡功能的唯一方法。 (除了 DirectX - 我不喜欢 OpenGL)

对于编程(例如在 C/C++ 中),操作系统提供了许多 API,例如用于打印的函数。但这些也可以通过汇编语言编码来绕过 - 并调用低得多的 API(提高速度)或直接 CPU 调用。

所以我开始想知道为什么这在视频卡上是不可能的。为什么需要像 OpenGL 或 DirectX 这样的 API?处理这些的过程是:

API-call >
OS calls video card (with complex opcodes, I think) >
video card responses (in complex binary format) >
OS decodes this format and responses to user (in expected API format)

我相信这会降低渲染过程的速度。

所以我的问题是:
是否有可能绕过任何图形 API(在 Windows 下)并直接调用视频卡?

谢谢,
丹尼斯

最佳答案

使用汇编或绕过 api 不会自动使某些东西变得更快,通常会更慢,因为您不知道编写库的人知道什么。

绝对有可能,是的,这些库只是处理器指令,可以查看寄存器和内存,您也可以轻松查看寄存器和内存。第一个问题是你能不能得到这些信息,当然,你可以看看 linux 驱动程序或其他开源资源。其次,今天的大部分繁重工作都是由逻辑或图形处理器在图形芯片中完成的,因此主机只是一个过渡,如果存在瓶颈则不一定是瓶颈。是的,您可以根据您的视频卡/芯片等对 GPU 进行编程。

你需要确定真正的瓶颈在哪里,如果真的有,也许总线是你的问题,也许操作系统是你的问题,或者编译器,或者硬盘或者系统内存,处理器和体系结构本身,缓存等。与此同时,除非您尝试,否则您将如何学习如何找到这些东西。

我建议完全摆脱 windows,没有操作系统,使用裸机。利用 Linux 和其他开源资源以及您可以从供应商处获得的任何资源,并更接近金属。您还需要有关 pci/pcie 总线和桥接器、dma Controller 以及路径中所有内容的大量信息。如果你不想那么低,那么使用 linux 或 bsd 或其他一些众所周知如何接管视频系统的命令行环境,并在保留操作系统和开发环境的同时接管视频系统(vi/emacs、海合会)。

如果这一切都太高级了,那么我建议,涉足简单的 gpu 例程,以至少在某种程度上了解视频卡的工作原理,并一次一步地完成这个学习练习。

关于windows - 是否可以直接访问视频卡? (无 API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11849200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com