- 主题:想用gtk和cairo做个东西
现在是 qpa 插件。可以看
/path/to/qtdir/plugins/platforms/
这个目录里面会列出多个插件。
或者随便抓个 qt 程序,比如
assistant -platform hello
带一个错误的插件名,它就会打印出支持的哪些插件了。
【 在 libgcc (承接各种水军业务) 的大作中提到: 】
: 对了,顺便问下,现在Qt5在linux下用的后端默认是啥
: 之前Qt4还有native,opengl,raster,Qt5好像没这几个选项了?
--
FROM 124.72.119.*
默认插件还是x11或者xcb?
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 标 题: Re: 想用gtk和cairo做个东西
: 发信站: 水木社区 (Sun Sep 20 22:48:31 2020), 站内
:
: 现在是 qpa 插件。可以看
:
: /path/to/qtdir/plugins/platforms/
:
: 这个目录里面会列出多个插件。
:
: 或者随便抓个 qt 程序,比如
:
: assistant -platform hello
:
: 带一个错误的插件名,它就会打印出支持的哪些插件了。
:
: 【 在 libgcc (承接各种水军业务) 的大作中提到: 】
: : 对了,顺便问下,现在Qt5在linux下用的后端默认是啥
: : 之前Qt4还有native,opengl,raster,Qt5好像没这几个选项了?
:
:
: --
: 灭绝人性啊
:
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 124.72.119.*]
--
FROM 171.83.95.*
看你的环境啊。。
wayland 底下应该是 wayland 吧。我没试过。
xcb 跑起来以后,似乎也不是通过 xcb 绘制,只是创建一个 xcb 连接,然后用 egl 绘制?我现在还没搞明白。
【 在 libgcc (承接各种水军业务) 的大作中提到: 】
: 默认插件还是x11或者xcb?
--
FROM 124.72.119.*
xcb还是连的xserver啊,给xserver发消息然后等响应
至于xserver怎么画的那我就不知道了
我其实也没搞清楚,比如我用了opengl,难道就不走xcb了?opengl自己直接跟显卡玩么?
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 标 题: Re: 想用gtk和cairo做个东西
: 发信站: 水木社区 (Sun Sep 20 22:56:31 2020), 站内
:
: 看你的环境啊。。
:
: wayland 底下应该是 wayland 吧。我没试过。
:
: xcb 跑起来以后,似乎也不是通过 xcb 绘制,只是创建一个 xcb 连接,然后用 egl 绘制?我现在还没搞明白。
:
: 【 在 libgcc (承接各种水军业务) 的大作中提到: 】
: : 默认插件还是x11或者xcb?
:
:
: --
: 灭绝人性啊
:
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 124.72.119.*]
--
FROM 171.83.95.*
用 xcb 肯定连接到 xserver. 但是 xserver 自带的 2d 绘图效率很低。因为要发送绘图指令,由 xserver 执行指令都是进程间通信。所以,qt 用了缓冲技术,先内部绘制好,再把内存传给 xserver 当作图片渲染出来就行了。
qt 用 opengl 的原理是通过 xcb 获得到 xserver 的 connection 以后,就可以向 xserver 申请一块 opengl context,里面一个指针指向显存地址区域。qt 拿着这个 context 绘图就行了,不用经过 xserver. 问题是窗口合成器在这个机制底下效率低。所以搞出了 wayland.
【 在 libgcc (承接各种水军业务) 的大作中提到: 】
: xcb还是连的xserver啊,给xserver发消息然后等响应
: 至于xserver怎么画的那我就不知道了
: 我其实也没搞清楚,比如我用了opengl,难道就不走xcb了?opengl自己直接跟显卡玩么?
: ...................
--
FROM 124.72.119.*
我就奇怪了,opengl可以直达显卡,为什么还要走xserver
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 标 题: Re: 想用gtk和cairo做个东西
: 发信站: 水木社区 (Sun Sep 20 23:11:21 2020), 站内
:
: 用 xcb 肯定连接到 xserver. 但是 xserver 自带的 2d 绘图效率很低。因为要发送绘图指令,由 xserver 执行指令都是进程间通信。所以,qt 用了缓冲技术,先内部绘制好,再把内存传给 xserver 当作图片渲染出来就行了。
:
: qt 用 opengl 的原理是通过 xcb 获得到 xserver 的 connection 以后,就可以向 xserver 申请一块 opengl context,里面一个指针指向显存地址区域。qt 拿着这个 context 绘图就行了,不用经过 xserver. 问题是窗口合成器在这个机制底下效率低。所以搞出了 wayland.
:
: 【 在 libgcc (承接各种水军业务) 的大作中提到: 】
: : xcb还是连的xserver啊,给xserver发消息然后等响应
: : 至于xserver怎么画的那我就不知道了
: : 我其实也没搞清楚,比如我用了opengl,难道就不走xcb了?opengl自己直接跟显卡玩么?
: : ...................
:
: --
: 灭绝人性啊
:
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 124.72.119.*]
--
FROM 171.83.95.*
因为用 opengl 的话都得首先获得一个 context 啊。
比如你的 opengl 是在一个窗口里面的吧,窗口移动的时候 opengl 动画要不要跟着动。按 alt+tab 窗口管理器显示任务列表让你选择的时候,也得显示 opengl 内容吧。
所以 opengl 是不能单独存在的,不论在哪个操作系统里面。在 windows 底下也是一样的道理。
最极端的例子是 webgl, 在未开启硬件加速的情况下,它的 opengl 压根就是假的,用 CPU 模拟的。
【 在 libgcc (承接各种水军业务) 的大作中提到: 】
: 我就奇怪了,opengl可以直达显卡,为什么还要走xserver
--
FROM 124.72.119.*
你这么说我倒是有个想法
我们这边有个图像的需求,就是指定在某一个固定的屏幕位置,注意不是窗口位置是屏幕
位置显示一幅固定大小不断变化的图像,就叫电影吧
不考虑窗口不考虑遮挡什么的
在linux下,有没有什么办法直接跟显卡或者以最短路径跟显卡沟通提升渲染效率
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 标 题: Re: 想用gtk和cairo做个东西
: 发信站: 水木社区 (Sun Sep 20 23:23:44 2020), 站内
:
: 因为用 opengl 的话都得首先获得一个 context 啊。
:
: 比如你的 opengl 是在一个窗口里面的吧,窗口移动的时候 opengl 动画要不要跟着动。按 alt+tab 窗口管理器显示任务列表让你选择的时候,也得显示 opengl 内容吧。
:
: 所以 opengl 是不能单独存在的,不论在哪个操作系统里面。在 windows 底下也是一样的道理。
:
: 最极端的例子是 webgl, 在未开启硬件加速的情况下,它的 opengl 压根就是假的,用 CPU 模拟的。
:
: 【 在 libgcc (承接各种水军业务) 的大作中提到: 】
: : 我就奇怪了,opengl可以直达显卡,为什么还要走xserver
:
:
: --
: 灭绝人性啊
:
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 124.72.119.*]
--
FROM 171.83.95.*
那相当于你自己实现一个类似opengl的东西了。
【 在 libgcc 的大作中提到: 】
: 你这么说我倒是有个想法
: 我们这边有个图像的需求,就是指定在某一个固定的屏幕位置,注意不是窗口位置是屏幕
: 位置显示一幅固定大小不断变化的图像,就叫电影吧
: ...................
--
FROM 114.249.195.*
花了好长时间搭建了开发环境,玩了几个例子,线条什么的确实很平滑啊,相当不错,其实我是想搞二维动画,gtk,cairo, 线性代数库有没有推荐的,就选xtensor?
【 在 libgcc 的大作中提到: 】
: 大哥你是来踢板的么
:
:
--
修改:anything1999 FROM 114.249.195.*
FROM 114.249.195.*