分页: 1 / 1

写的GTK+程序在linux下和windows下行为不一样。

发表于 : 2018-03-12 9:52
kangtian
源码完全相同,windows下的编译环境是msys2中的mingw64,编译过程也没有警告和报错。

linux下按照预期运行,windows下行为古怪。

Re: 写的GTK+程序在linux下和windows下行为不一样。

发表于 : 2018-03-12 21:58
kangtian
有研究了下,可能是多线程所致。
因为我的程序里使用了多线程,可能linux和windows的线程机制不同。

Re: 写的GTK+程序在linux下和windows下行为不一样。

发表于 : 2018-03-18 17:15
kangtian
找到真正的原因了,多线程可能是原因之一;但是真正的原因还是cairo。

cairo在Windows下的实现并没有使用硬件加速,相关的2D画图都是用软件实现的,非常缓慢低效。导致界面更新和数据更新不同步。

Re: 写的GTK+程序在linux下和windows下行为不一样。

发表于 : 2018-05-05 11:29
astolia
cairo有很多种后端可以选的,cairo-win32是只有gdi,但cairo-gl用opengl应该能实现硬件加速,
https://cairographics.org/backends/