![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
who_i |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 12.2.2007 Где: 0x00 Репутация: нет Всего: нет |
Здраствуйте, форумчане!
Я C++ только недавно начал изучать. Вот такой вопрос: нету ли каких-небудь API-шных (или других) функций, чтобы ускорить вывод на экран в консоли MS-DOS? При выполнении кода:
При каждой итерации цикла for(int z=0;z<3;z++) сильно мерцает экран. Можно ли это как-нибудь исправить? ![]() Заранее спасибо! Это сообщение отредактировал(а) who_i - 13.2.2007, 00:27 |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
хмм... Попробуй выводить не посимвольно, а складывай символы в стринги и выводи пачкой. Можно строку, или две или три, может и весь экран зараз можно попробовать ![]() ![]() |
|||
|
||||
SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
Вот одна функция
![]() ![]()
Бегает шустренько так ![]() P.S. Программа та была консольной изначально, потом переделана, но консольная часть оставлена и запустить её в ход можно. |
|||
|
||||
Dray |
|
|||
![]() Материалист ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 7.10.2003 Где: г. Всеволожск Репутация: 2 Всего: 6 |
Для консоли вряд ли. А так быстрый вывод - это DirectX/OpenGL
![]() Добавлено @ 00:58 Да, кстати! Здесь всё-таки поточнее надо. |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Можно переключить консоль в текстовый режим (Alt+Enter) - будет шустрее
|
|||
|
||||
apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Надо бросать символы напрямую в видеопамять монитора
-------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Ага... в консоль-окошко. Под Виндой. Да и под Линухами тоже. ![]() Не даст тебе никакая ОС такого права, кроме как ДОС, конечно. |
|||
|
||||
Любитель |
|
||||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Да тут даже не в правах дело - любая ося работает в графическом режиме. В том числе при загрузке чисто на консоль (и винда, и линукс).
Добавлено @ 15:52
В std::cout есть встроенная буфферизация. Вот только std::endl в цикле - это зря. std::endl это тоже, что и
последнее нам в цикле не особо надо. |
||||
|
|||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
||||
|
||||
who_i |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 12.2.2007 Где: 0x00 Репутация: нет Всего: нет |
Std::endl я заменил на '\n'-ничего
перешел в оконный режим-ничего. Неужели нету таких функций? Вот например в игре Колобок, и в полноэкранном режиме, и в оконном все так гладко. ![]() А у меня это мерцание-аж глаза болят. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Ну попробуй через WinAPI - двигаем курсор, выводим символ. Без рендеринга всей сцены так сказать
![]() |
|||
|
||||
Rockie |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
who_i, а что-то должно быть. '\n' это просто символ, а при endl происходит много чего, как-то создается объект, разрушается, и если я прав то плюс еще сбрасывается буфер Добавлено @ 17:33 да, так и есть
-------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
||||
|
|||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
а если с тыла подойти? ![]()
в Linux в отличие от Window$ есть нормальная не GUI консоль, которая работает в текстовом режиме -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Ну так он и будет мелькать...а чего же ты хочешь??
Ты же после каждой итерации очищаешь консоль. Добавлено @ 16:42 Если я не ошибаюсь cls заполняет весь экран пробелами тем самым очищая экран. Если это тебе так уж нужно очищай вручную..ту часть которую используешь. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Ага с фонами, задаваемыми где-то в текстовых конфигах ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |