try multithread & gl window