GUI是如何真正制作的?

Lan*_*Pac 5 user-interface operating-system low-level

我的问题是
像 Qt 这样的 Gui 库,让我们说一下 Windows 操作系统如何创建所有这些图形用户界面(Windows 等)。

每个操作系统都提供API或其他东西吗?如果是,那么操作系统如何绘制所有这些窗口和东西。他们(操作系统)是否“控制”屏幕,然后逐个绘制每个像素以实现其目标图形用户界面?

我想要一个答案,以尽可能低的水平解释事情,但我不要求有人写给我发生的一切(即使我愿意),因为我知道所有这些背后有很多事情。所以出于这个原因评论带有链接或推荐书籍,其中详细解释了
幕后发生的事情,将不胜感激。

old*_*mer 1

Stackoverflow 答案不应该使用链接,评论可以,但不能使用答案。

每个操作系统和 GUI 库都是不同的,但是,是的,它们确实以某种方式、形状或形式绘制了每一个像素。它通常是很有组织性的,并且使用了许多性能解决方案,优化的例程可以更新矩形或屏幕的某些块,有时会涉及硬件(现在很多时候硬件或基本上 GPU 都参与其中,CPU 询问 GPU绘制一些东西,然后 GPU 正忙于放置所有像素)。

例如,您可能想要创建某种字体渲染函数,该函数给出字体、要显示的字符串、字体大小,也许还有一个不超出范围的剪切窗口,或者可能是一个具有字体、大小和字符串返回像素数,然后您可以调整字符串以适应和换行(例如,查看此网页,将窗口拖得更宽和更窄,并观察网页文本的作用)。

绝对是某种图像绘制例程,能够将绘图拉伸或适合定义的矩形。

随着时间的推移,有趣的东西、游戏等已经进步得如此之快,以至于很难回到简单的线条绘制和区域填充例程等。但随着技术的发展,游戏带来了网页等简单的东西......再次环顾四周。

有许多开源程序和库,您应该只是浏览源代码并看看您看到了什么。