我正在写一个命令行游戏,应该工作在4-40帧/秒(将在稍后选择)。但是,我有一个问题。使用putchar()绘制一个由1920个彩色字符组成的" image“需要0.2-0.3秒,我可以看到我的图像是逐行绘制的。然而,例如,在Firefox中,我可以在画布上绘制64000 RGB像素,几乎不到十分之一秒。
有没有办法避免这种延迟,这种延迟是由控制台强制的,还是处理输出所需的时间?
发布于 2012-01-08 19:48:55
不要使用putchar。创建一个充满字符的缓冲区,表示屏幕状态,并使用write一次性将缓冲区发送到标准输出,然后刷新它。
例如:write(STDOUT_FILENO, buffer, buffer_size); fflush(stdout);
发布于 2012-01-08 19:48:59
你应该在内存中组装你的输出字符串,然后把它写出来,例如使用printf
https://stackoverflow.com/questions/8777210
复制相似问题