0
python-> cursesモジュールを使用すると、文字列の色属性を多く変更すると、非常に遅い 描画/更新が発生します。 私はC++で同じプログラムを書いていて問題はありませんでした。 コード:プログラムは、画面上のすべてのセルの色を変更するには、エスケープシーケンスを送信するためPython curses、異なる連続した色でスローリフレッシュ
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import curses
import locale
# Inint global console config
locale.setlocale(locale.LC_ALL, '')
def main(stdscr):
curses.start_color()
curses.use_default_colors()
curses.init_pair(1, curses.COLOR_YELLOW, 0)
curses.init_pair(2, curses.COLOR_RED, 0)
max_rows, max_cols = stdscr.getmaxyx()
max_cont = max_rows * max_cols
try:
for i in range(1, max_cont):
stdscr.addstr('█', curses.color_pair(i % 2 + 1))
except curses.ERR:
pass
stdscr.refresh()
stdscr.getch()
curses.wrapper(main)
しかし、なぜC++で書かれた同じコードが非常に高速ですか?そしてたとえ私が '█'の文字を 'A'と変えても、まだ遅いです。 –
Pythonはインタプリタであり、C++のコンパイラアプリケーションよりも多くの作業が必要です。 –
送信されるデータの量はここで問題になるとは思わない。 1つの色のペアを使用する場合、送信されるデータの量は同じですが、超高速で動作します。 –