본문 바로가기

내가 작업한 것들/소프트웨어

FLTK 1.3.3 TS(Thread Safe) Project



 현재 GUI 시장에서 사실 QT 와 같은 덩치가 큰 GUI 도 있겠지만, 간단한/가벼운 걸 만드는데 과연 저 무거운걸 써야 하나? 라는 고민을 해야 하는 사람에게 FLTK 는 꽤 좋은 선택일 것 입니다.

 그러나, FLTK 는 구조상 Thread 상에서 GUI 갱신을 무자비 하게 되면 알수 없는 Lock up 에 걸리는 문제가 생깁니다. (이 부분은 Fl.cxx 내에 구현된 wait/flush 관련 부분의 고질적인 문제로 파악이 되고, 특히 Windows 의 경우 HDC 와 HWND 의 무결성 검사 부분이 많이 누락되어 있습니다. (TTF 처리 부분 역시)

 그래서 개인적으로 FLTK 1.3.3 을 기준으로 일부 코드를 수정한 TS 모델을 진행 중 입니다. 그래서 이름이 FLTK-1.3.3-TS 이며, 이는 github 에 다음과 같이 공개 되어 있습니다.


https://github.com/rageworx/fltk-1.3.3-ts


 OpenSource 및, GPL v2 에 의거 하여 해당 소스는 공개로 제공 되며, 이 프로젝트는 MinGW 와 M-Sys 에 특화 되어 개발이 진행 중 입니다. 물론 Visual Studio 에서도 사용이 가능 합니다.

 X11 역시 비슷한 문제들을 가지고 있기 때문에 이 부분들이 개선 되고, GUI 의 갱신을 빠르게 진행 할 수 있는 장점들을 포함 할 계획 입니다.


 물론 이 프로젝트는 취미로 진행 되는 것 이므로 ... 갱신이 얼마나 자주 있을지는 모르겠습니다 ...


_ps_

windows 에서는 M-Sys 나 Cygwin 등에서 ./configure 를 하신 다음 make 해 주시면 라이브러리가 나옵니다.