gpt4 book ai didi

opengl - GDI/GDI+ 如何在没有 OpenGL 或 DirectX 的情况下工作

转载 作者:行者123 更新时间:2023-12-03 15:02:50 31 4
gpt4 key购买 nike

对不起,如果这是题外话。如果是这样的话;请随时将其移至适当的站点。

GDI/GDI+ 如何在不使用 DirectX 或 OpenGL 等较低级别的 API 与 GPU 通信的情况下渲染到显卡(在屏幕上显示内容)?它如何在不使用任何 API 的情况下绘制到屏幕上?是的;我知道图像是在 CPU 上合成和渲染的,但是在显示在监视器上之前,它必须以某种方式发送到 GPU。这是如何运作的?

最佳答案

GDI 原语由显卡驱动程序实现。视频驱动程序由 GPU 制造商提供,并使用专有的寄存器级接口(interface)与 GPU 通信,此级别不需要公共(public) API。

与您声称知道的相反,图像通常没有在 CPU 上完全渲染和合成。相反,视频驱动程序可以自由地使用 CPU 和 GPU 处理的任意组合,并且通常大量 GDI 命令(尤其是位 block 传输,也称为 blitting)被委派给 GPU。

由于专有接口(interface)必须足够强大以支持 OpenGL 客户端驱动程序和 DirectX 驱动程序,因此 GDI 驱动程序可以将命令传递给 GPU 执行也就不足为奇了。

在启动(和 Windows 安装)早期,当没有制造商特定的驱动程序可用时,视频 API 会在软件中执行所有渲染并写入帧缓冲区,这只是为 GPU RAMDAC 提供数据并映射到 CPU 地址空间的内存区域.帧缓冲区以几种众所周知的格式(由 VESA 定义)之一存储。

关于opengl - GDI/GDI+ 如何在没有 OpenGL 或 DirectX 的情况下工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6591227/

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