gpt4 book ai didi

c - 如何直接访问显示器进行绘图

转载 作者:行者123 更新时间:2023-11-30 18:38:28 25 4
gpt4 key购买 nike

上下文

一段时间以来,我主要将编程作为一种爱好,主要使用 C# 和 Java。我制作了许多需要动画内容的应用程序(Windows 窗体或 Java 窗体)。在 Java 中,我将使用 Graphics.drawX() 并根据时间函数重绘。当动画频繁发生时,分辨率会降低或应用程序会变慢。我从来没有想过这个问题,直到我在同一台计算机上玩视频游戏时,渲染一个简单的 Java 应用程序遇到了很多麻烦。我的电脑怎么能瞬间渲染出复杂的移动环境,却急于显示自制的2048游戏呢?我想这一定是因为我滥用了绘制函数,或者是因为这些函数没有针对实时渲染进行优化。

问题:如何直接访问显示屏而不需要通过预编程功能?

我意识到这在高级语言中可能很难,所以让我们在 Windows 操作系统上使用 C 语言。 (但我希望得到任何与任何语言和/或操作系统相关的答案)

我知道这是一个非常模糊的问题,但我似乎无法找到合适的词来适本地谷歌它。非常感谢您的帮助!

最佳答案

您不能(或者也许我应该说永远不应该)尝试直接在 Windows 上访问图形驱动程序。在 Windows 之前,您曾经直接写入视频内存来进行图形处理,因为 DOS 不支持图形或显示管理,并且这些程序的稳定性总是有点不稳定。在 Windows 上,它拥有屏幕,您必须通过它才能访问它。

基于 Windows 的操作系统的基本概念是操作系统拥有显示器并允许应用程序访问虚拟显示器,以便操作系统可以隐藏它或移动它。在大多数情况下,这不会导致速度问题;但是,在某些情况下(例如游戏),您需要更快的速度;因此,DirectX 允许您将其中一些任务转移到显卡,以获得所需的速度。

有关 DirectX 的更多信息,请查看 Microsoft's Graphics and Gaming资源

关于c - 如何直接访问显示器进行绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33968002/

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