首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无延迟地写入控制台

无延迟地写入控制台
EN

Stack Overflow用户
提问于 2012-01-08 19:44:58
回答 2查看 325关注 0票数 1

我正在写一个命令行游戏,应该工作在4-40帧/秒(将在稍后选择)。但是,我有一个问题。使用putchar()绘制一个由1920个彩色字符组成的" image“需要0.2-0.3秒,我可以看到我的图像是逐行绘制的。然而,例如,在Firefox中,我可以在画布上绘制64000 RGB像素,几乎不到十分之一秒。

有没有办法避免这种延迟,这种延迟是由控制台强制的,还是处理输出所需的时间?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-08 19:48:55

不要使用putchar。创建一个充满字符的缓冲区,表示屏幕状态,并使用write一次性将缓冲区发送到标准输出,然后刷新它。

例如:write(STDOUT_FILENO, buffer, buffer_size); fflush(stdout);

票数 7
EN

Stack Overflow用户

发布于 2012-01-08 19:48:59

你应该在内存中组装你的输出字符串,然后把它写出来,例如使用printf

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8777210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档