源码完全相同,windows下的编译环境是msys2中的mingw64,编译过程也没有警告和报错。
linux下按照预期运行,windows下行为古怪。
写的GTK+程序在linux下和windows下行为不一样。
-
- 帖子: 336
- 注册时间: 2007-04-22 13:14
-
- 帖子: 336
- 注册时间: 2007-04-22 13:14
Re: 写的GTK+程序在linux下和windows下行为不一样。
有研究了下,可能是多线程所致。
因为我的程序里使用了多线程,可能linux和windows的线程机制不同。
因为我的程序里使用了多线程,可能linux和windows的线程机制不同。
-
- 帖子: 336
- 注册时间: 2007-04-22 13:14
Re: 写的GTK+程序在linux下和windows下行为不一样。
找到真正的原因了,多线程可能是原因之一;但是真正的原因还是cairo。
cairo在Windows下的实现并没有使用硬件加速,相关的2D画图都是用软件实现的,非常缓慢低效。导致界面更新和数据更新不同步。
cairo在Windows下的实现并没有使用硬件加速,相关的2D画图都是用软件实现的,非常缓慢低效。导致界面更新和数据更新不同步。
- astolia
- 论坛版主
- 帖子: 6447
- 注册时间: 2008-09-18 13:11
Re: 写的GTK+程序在linux下和windows下行为不一样。
cairo有很多种后端可以选的,cairo-win32是只有gdi,但cairo-gl用opengl应该能实现硬件加速,
https://cairographics.org/backends/
https://cairographics.org/backends/