Стирается полностью консоль, печатаются новые символы, это происходит так быстро, что ты видишь будто бы это ui прогрессбар (хотя по универскому опыту Делфи и на ui происходит стирание и перерисовка графики)
Вы че, долбаебы? Это реализовано на программном уровне. А вообще, даже команда есть, system("cls"); (для С / С++) и консоль очищена. Для bat файла как не помню. Вроде так же, может без ;
Грубо говоря есть разные терминалы (а точнее сейчас режимы совместимости). На данный момент +- везде есть поддержка управляющих последовательностей https://en.wikipedia.org/wiki/ANSI_escape_code
>>256033268 какой блять видеопамяти? совсем ёбу дал?
>>256033220 >>256033349 Вообще нет. Из консоли ты вряд ли выжмешь 30-40фпс на разрешении выше 256*256
>>256033628 Какие нахуй терминалы? Тебя про реализацию спросили. Консоль очищается и заново рисуется. Сделано скорее всего с двойным буфером, по этому мерцания не видно. Хотя может оно там и есть, я уже точно не помню.
>>256033674 >>Используется специальный режим А как он реализуется, ебанашка? Вот блядь, оно тупое поколение нулевых, синьоры хуевые. Кто на ассемблере не писал, не знает как работает ЦПУ, шина, устройства - идите нахуй подметать полы, вы не нужны в IT, блядь.
>>256033854 Проблема твоего ответа в том, что формально он правильный, но по факту абсолютно бесполезная хуйня. Если бы у тебя осталось хоть немного мозга после стекломоя то ты бы знал понятие abstraction level, который как раз таки скрывает детали нижнего уровня
>>256033050 (OP) Бля, да даже в сраном паскале было абсолютное позиционирование курсора и возможность ебануть там по месту любой из поддерживаемых символов. Ты на CMD там батники пишешь?
>>256034707 вот именно что обновляет а не в начале удаляет а потом пишет новый. Как думаешь почему в кешах процов нет удаления, а только копировать/записать/прочитать?
>>256034891 Мне похуй в данный момент как рисуются пиксели. Конкретно в том случае я говорил про то как работает буфер кадров в памяти вк. Его ты тоже чистишь? Факт есть факт что чистя консоль ты её заливаешь пробелами и на это уходит куча полезного времени хотя достаточно просто перетереть кусок и это будет куда быстрее и экономичнее
>>256033050 (OP) Так это же не фундаментально невозможно. Просто в консоли так запрограммирован интерфейс, чтобы команды и вывод складывались в этакий лог, а другие консольные программы могут что угодно печатать в любые места при желании.
>>256035322 такой подход вроде применяется, когда полностью сцену перерисовывать не нужно. при работе в curses сталкивался с подобным, но там подложка/фон/новое_окно должно присутствовать вроде, а то все смазывалось. с аппаратным ускорением на GL проще в буффер кадр рисовать, перед этим очищая его, да
Хочешь наглядности - возьми допотопный P3, поставь на него хр и начни устанавливать какой-нибудь злоебучий репак фотошопа от кролика. Увидишь воочию как у тебя пропадает и появляется одна строка, а весь остальной текст остается на месте.
>>256037064 > пропадает и появляется одна строка, а весь остальной текст остается на месте. Есть же программы похожие на Far Manager. Там как-то это иначе сделано.
Возможно, через WinAPI можно как-то изменять окно консоли, и любые символы в нём.
>>256036477 > кадр рисовать, перед этим очищая его
Занятно, что некоторые старые игры экономили на очистке буфера - Doom, Quake, HL, CS. Возможно из-за того, что рендер был изначально на процессоре. А видеокарты потом как-то прикрутили.
Похоже, это приводило к росту числа полигонов. И все локации в игре надо было прогонять через хитрожопые BSP - PVS алгоритмы. Поинтересней было в Duke Nukem.
>в консоли, в которой нельзя стирать написанные символы В любой консоли запись в неё символа с кодом 0x08 (backspace) стирает предыдущий, записанный в неё символ.
>>256033050 (OP) Кстати в универе ебался сделать змейку в сосноли на ++ поитогу сделал асинхронный метод отдельным тредом который в N миллисекунд стирал и перерисововал всю графику с нуля
АНоны в рамках треда вопрос. Нарыл я свой старый код змейки у меня там реально блядь cls каждые n-миллисекунд и полностью новая отрисовка всего кадра змейка в сетке N*M символов храняться данные о каждом символе в массиве . Как обновлять кадр не перерисовавая его целиком?? на высоких скоростях просто нереальные мерцания Да и отрисовка и стирание занимает столько ЦП что просто ебнешься
А я написал 3д движок на opengl, когда хотел создать игру. Только я столько с ним ебался, что когда закончил предварительный этап отладки и побежал по коридорам, идея меня чет как-то подзаебала, а графоний получился на уровне первой халфы.
>>256033050 (OP) А правда что ('cls') в коносле не отчищает ее а затирает символами пустых строк? Ведь процессор не умееет в DELETE а может только байтам нули присвоить
>>256041178 Ааа, знаем такое, на железе часто вижу. Ну это в целом логично - вернуться в начало и на новую строку. Свистоперделки осей, но это ловится с первой подачей инфы на терминал.
>>256033050 (OP) дэлай скрин и в паинте зомазывай че ты совсем тупой дЭбил что ль и кампом пользоватся не умеешь, ебать пердижи тупорылые, ббббгггггггггг. паржал с мокаки ебанай, ббгг.
>>256040679 Лол, а как ты рисуешь змейку? В координаты х,у ты рисуешь голову. В координаты, где хвост, рисуй пробел. Какие же зумеры дегенераты, пиздец просто, весь кадр перерисовывают...
>>256033050 (OP) Можно, с хуяли нельзя, лол. Можно даже не стирать каждый раз, стирать это уже совсем быдлокод, мужики двигают курсор и пишут в нужном месте символ.
Долбоёбов полон тред, в консоле можно всё что хочешь делать Можно даже уменьшить символы до минимума и используя их как пиксели сделать шутан. https://www.youtube.com/watch?v=HEb2akswCcw