大量理解和使用文档对象模型( Document,DOM)的概念,为web和移动应用程序创建各种类型的GUI是非常常见的。不过,我想知道,用于桌面、嵌入式系统、其他电子设备等的GUI(使用C++、C#、Java、Python等编程)是否使用DOM的概念,或者使用API(应用程序编程接口)来“呈现和显示”可视化和图形化的内容?
发布于 2021-04-15 04:01:46
做这件事有很多疯狂的方法。图形操作系统通常提供一个或多个小部件工具包,它可以包括配置文件、绑定引擎或仅用于创建各种小部件的API。窗口系统的作用有点像浏览器环境。
在图形游戏和其他不太受操作系统约束的应用程序中,您通常会在GPU加速表面上编写自己的扩展工具包,或者使用图形工具箱为您编写。推出多个游戏或类似游戏的公司将有一个代码库,使他们的游戏UI风格更容易站立起来。这更接近于推送像素;但是,如果您想要良好的性能和良好的转换,您实际上通常将几何推到GPU代码,而不是像素。
在CPU上的4k显示器上动画60 fps平滑过渡是不切实际的;快速完成GPU是很容易的。因此,无法与GPU交互的语言通常会以中间库或框架为其服务而告终。
其他程序将有一个嵌入的chrome引擎,并释放HTML并将回调绑定到其中。
如果您的UI更静态,则将像素从CPU推送是可行的。即使如此,内容通常会被操作系统/窗口框架复制到GPU上,因此抓取整个窗口并移动它是既平稳又便宜的。
https://stackoverflow.com/questions/67101982
复制相似问题