首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FLTK双窗口与FLTK单窗口的区别

FLTK双窗口与FLTK单窗口的区别
EN

Stack Overflow用户
提问于 2021-01-08 02:15:29
回答 1查看 260关注 0票数 1

我对FLTK单窗口FLTK双窗口之间的区别感到困惑。在用于双窗口的FLTK1.4.0文档中,我们得到了以下描述:

Fl_Double_Window提供了一个双缓冲窗口.如果可能,这将使用X双缓冲扩展(Xdbe)。否则,它将将窗口数据绘制到屏幕外像素图中,然后将其复制到屏幕上的窗口中。强烈建议您将以下代码放在程序中任何窗口的第一个显示()之前: Fl:: visual (FL_DOUBLE|FL_INDEX) --这确保您可以在服务器上使用Xdbe,而在服务器上并不存在每个可视的双重缓冲。

什么是双缓冲窗口?什么是屏幕外像素图?在哪种情况下,您想使用双窗口而不是单一窗口?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-08 14:53:06

缓冲中解释了双缓冲的一般原理,主要是将数据写入缓冲区,直到绘制完毕为止。然后将整个缓冲区复制到视频ram ( windows术语中的bitblt)。

优点:性能平稳-没有闪烁。缺点:您在屏幕上看到的是写到缓冲区的数据后面的纳秒。除非你的眼睛能那么快地工作,否则你不会注意到其中的区别。

一个屏幕外的像素地图,只是一个像素图。像素映射是代码写入的缓冲区。

您将使用单个窗口对表单进行更改,这些窗体与消息框或数据输入表单没有很大的不同。如果您正在玩图形或显示数据变化非常快,如倒计时计时器,滑块,仪表等,那么一定要使用双窗口。

FLTK建立在本地图形例程之上。在Linux上,那就是.在上,这就是windows .调用某些例程可以神奇地加速不同平台上的图形。

编辑

它是平滑的,因为当硬件准备就绪时,它会写入硬件(绘制)。它不是多多少少的写作,而是在合适的时间。

当硬件尚未准备好时,可能会发生各种奇怪的效果:闪烁、涟漪、阻塞等。

它确实使用了更多的内存--大约和像素图一样多。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65622538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档