Оптимизация sys.stdout.write()Python

Программы на Python
Ответить
Anonymous
 Оптимизация sys.stdout.write()

Сообщение Anonymous »

Я любитель создавать простые игры с использованием Python и консоли Windows через sys.stdout.write(). Я знаю, что этот метод создания «графики» с выводом символов ASCII на консоль намного медленнее, чем с использованием видеокарты, но я просто наслаждался этим простым проектом, пока промочил ноги.
Каковы некоторые способы ускорить время печати кадра?
В настоящее время каждый символ на консоли хранится в словаре. Словарь просматривается с использованием координат x,y в качестве ключей, и каждый символ добавляется к строке в каждом кадре, который выводится на консоль. С минимальной игровой логикой и «графикой» у меня уже меньше 60 кадров.
Мне было интересно, будет ли вообще быстрее использовать многопоточность или многопроцессорность для изоляции вывода кадра на консоль (или преобразования моего словаря в строку) для ускорения времени обработки каждого кадра.
Я сам попробовал, но печать на консоль в отдельном потоке с использованием «поточности» не принесла никакого результата, и я не смог получить многопроцессорная обработка для работы с очередью для обновления каждого кадра. Как я могу ускорить время кадра?
Текущее окно игры показывает частоту кадров (единица измерения: FPS) и количество символов ASCII в левом нижнем углу.
Вот ссылка GitHub на мой текущий код для справки:
Код немного беспорядочный, но основные части рисунка находятся в конце основного цикла, а затем код ASCII изменяется в windowsConsoleGraphics.py.

Подробнее здесь: https://stackoverflow.com/questions/798 ... dout-write
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»