Rock
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору SetQ Цитата: А самое простое и всё равно непонятное: как FAR 3.0 рисует на экране? Через printf? | Аж самому интересно стало. Глянул в far/console.cpp -- там чистейший conio.h. Самопальный, но оно. Насколько я понимаю, это будет отмирать, а модно и молодежно теперь -- это Виндоуз терминал. Я не удивлюсь, если там какой-нибудь VT100, царство небесное компании Диджитал Эквипмент Корпорейшн, так что тормозить будет, как в Линуксе -- в терминал пишут именно printf'ами, а все сложности задаются ескейп-последовательностями. Понятное дело, что Виндовый терминал должен поддерживать два режима работы: старый (conio.h) и, пусть будет, VT100. Понятное дело, что глубоко внутри в Винде в обоих режимах immediate mode и все ухищрения ФАРа с инвалидацией, сохранением областей и проч. тупо не нужны -- экран ФАРа, ну, двести на сто символов, ну юникодные, ну, цвета, ну служебные символы. Ну, двести килобайт. Можно не парясь рисовать экран каждый раз заново -- под капотом все равно будет именно так, да и медленной видеопамяти на супермедленной шине ISA уже давно нет. На самом деле, по идее, что conio.h, что VT100 должны работать одинаково быстро -- ну, отнимет обработка escape'ов несколько лишних тактов. Но это если постараться при написании, а не впихивать в код все, что знаешь, вроде SQL Light или std::variant. Кстати, вероятнее всего, в новомодном молодежном Виндоуз терминале старый conio.h, скорее всего, эмулируется командами VT100 (или что там еще). Это все ламерские предположения. В действительности все может быть иначе, и не так, как на самом деле, а совершенно по-другому. |