如何减少curses程序中的屏幕闪烁?

如何减少curses程序中的屏幕闪烁?,c,optimization,ncurses,curses,C,Optimization,Ncurses,Curses,我有一个类似恶棍的诅咒游戏。我希望地图占据整个屏幕,但当我进行必要的修改时,每次用户的角色移动时,屏幕都会闪烁 有没有什么优化可以用来阻止这种情况发生?我已经尝试了以下方法: 减少怪物能够移动的区域 减少怪物/物品产生的区域 这些措施有所帮助,但还不够。我也尝试过各种编译器标志,但它们都不会对最终生成的代码产生影响,因此我认为我不会从编译器中得到神奇的改进。尝试使用一个,这样我们可以尝试:)在不查看代码的情况下,只有一些一般性建议,比如只使用wrefresh()/refresh()每次屏幕更

我有一个类似恶棍的诅咒游戏。我希望地图占据整个屏幕,但当我进行必要的修改时,每次用户的角色移动时,屏幕都会闪烁

有没有什么优化可以用来阻止这种情况发生?我已经尝试了以下方法:

  • 减少怪物能够移动的区域
  • 减少怪物/物品产生的区域

这些措施有所帮助,但还不够。我也尝试过各种编译器标志,但它们都不会对最终生成的代码产生影响,因此我认为我不会从编译器中得到神奇的改进。

尝试使用一个,这样我们可以尝试:)在不查看代码的情况下,只有一些一般性建议,比如只使用
wrefresh()
/
refresh()
每次屏幕更改一次,如果您有多个窗口,请在它们上使用
wnoutrefresh()
,并调用
doupdate()
@FelixPalmen我真的认为这不管用,因为我的程序中有很多事情会影响速度(怪物移动、繁殖、渲染、生成),我不想从本质上重写整件事。一般解决方案对我来说没问题,您的建议确实显著提高了性能(但没有完全消除屏幕上的黑线)。