繁体   English   中英

SDL冻结,但继续运行

[英]SDL freezes but continues to run

我编写了一个程序来绘制Julia集,并在Windows 7上使用SDL 1.2将它们存储在.bmp文件中。该程序旨在扫描每个像素并绘制某种颜色,并定期更新屏幕,并在完成时,以将图像存储在文件中并等待用户退出。

该程序将编译并运行正常。 但是,这让我很烦,过了一会儿屏幕会冻结,尽管程序一直在运行。 完成所有计算后,屏幕将解冻,文件被正确存储,并且当用户退出时程序会正常退出。 同样,如果用户在计算完成之前切换窗口然后又返回到该窗口,则屏幕将冻结。

该程序本身需要大量的CPU,但占用的内存却很少。

任何想法如何解决这个问题?

注意:首先发布在programmers.stackexchange上,但显然这不是该问题的正确位置:-)

我怀疑您在程序进行计算时没有足够频繁地处理SDL事件。 您需要在计算中添加事件轮询:

SDL_Event event;
SDL_PollEvent( &event );
... // here handle mouse, keyboard and user events

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM