0
使用python-> curses模塊時,如果我拼湊字符串顏色屬性,我會遇到非常緩慢的 繪製/刷新。 我用C++編寫了相同的程序,並沒有問題。 代碼:Python詛咒,緩慢刷新不同的連續顏色
#!/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++中的編譯器應用程序有更多的工作要做。 –
我不認爲發送的數據量是問題,因爲正如我所說的,只有在顏色交替時纔會變慢。如果我僅使用一種顏色對,發送的數據量是相同的,但它工作速度非常快。 –