Мигание - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming

Программирование / Programming
Ищете помощи в написании программы, есть сложность в выполнении задания (в институте и т.д.), пожалуйста, спросите у нас в данном форуме и мы обязательно вам поможем.

Ответ
Опции темы
Непрочитано 21.12.2011, 20:00   #1
Аватар для Effas
Пользователь

Автор темы (Топик Стартер) Мигание

Сама программа - http://rghost.ru/35530911
(в архиве .exe и настройки)

Проблема в том, когда летят шары, они миграют .. >.<

animation.cpp:
Свернуть ↑Развернуть ↓


animation.h:
Свернуть ↑Развернуть ↓


main.cpp:
Свернуть ↑Развернуть ↓
Effas вне форума Отправить сообщение для Effas с помощью Skype™ Ответить с цитированием
Непрочитано 21.12.2011, 20:46   #2
Аватар для Azagthtot
Эксперт

По умолчанию Re: Мигание

Фрейм буффер вас спасет.
В изделии от Microsoft он называется Memory Device Context (MemDC).
Сначала отрисовываете на нем, а потом, с помощью BitBlt и какой-то матери шваркаете рисунок на Window Device Context.
По работе с DC читаем великий и ужастный MSDN (работа с GDI) и не мнее ужасного Рихтера

Добавлено через 13 минут
Упс.. ответил не смотря на код.
Вы батенька вообще под DOS пишете. Стандартная графическая либа C тормозная как стадо обкуренных черепашек.
Так что у вас варианты
- организовывать фреймбуффер самому, писать свою либу
- переползти под например,XCLIB или GRX (это такие специально обученные библиотекти по работе с графикой)

Последний раз редактировалось Azagthtot; 21.12.2011 в 20:59. Причина: Добавлено сообщение
Azagthtot вне форума Отправить сообщение для Azagthtot с помощью ICQ Отправить сообщение для Azagthtot с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 21.12.2011, 21:02   #3
Аватар для Effas
Пользователь

Автор темы (Топик Стартер) Re: Мигание

Цитата:
Сообщение от Azagthtot Посмотреть сообщение
Фрейм буффер вас спасет.
В изделии от Microsoft он называется Memory Device Context (MemDC).
Сначала отрисовываете на нем, а потом, с помощью BitBlt и какой-то матери шваркаете рисунок на Window Device Context.
По работе с DC читаем великий и ужастный MSDN (работа с GDI) и не мнее ужасного Рихтера
Спасибо большое, но нет на это времени, куча зачетов еще впереди.
Так сдам ргрку, думаю не будет препод выкаблучиваться, т.к. с тем, что вы написали, дело не имели.

Я просто думал, что проблема не велика, и где то происходит преждевременное "обновление/очистка" шара.

Спасибо, тема закрыта. Ваш ответ стоит записать и обосновать завтра это мигание
Effas вне форума Отправить сообщение для Effas с помощью Skype™ Ответить с цитированием
Непрочитано 21.12.2011, 21:09   #4
Аватар для Azagthtot
Эксперт

По умолчанию Re: Мигание

Ничего не "происходит преждевременно". Учите мать, вашу, часть ....
Допустим у вас частота обновления экрана 60Hz. Это 60 раз в секунду.
А либа у нас тормознаааааая... Да и вообще рисование -дело не быстрое. Пока посчитаешь точки, пока адресуешь их, а в ражиме EGA там вообще писец с регистрами-защелками... А картинка перересовывается... и того, в некоторый момент времени мы видим
- черный экран (все очищено)
- отрисованный на половину
- отрисованный полнстью
вот из-за этого и появляется мерцание.
А копирование ВСЕЙ видеопамяти - дело быстрое. Никаких очисток.
Так что, для анимации только фреймбуфер.

P.S. Если у вас подход "нет на это времени, куча зачетов еще впереди." то лучше смените специальность, пока не поздно Я серьезно
Azagthtot вне форума Отправить сообщение для Azagthtot с помощью ICQ Отправить сообщение для Azagthtot с помощью Skype™ Ответить с цитированием
Непрочитано 21.12.2011, 21:23   #5
Аватар для Effas
Пользователь

Автор темы (Топик Стартер) Re: Мигание

Цитата:
Сообщение от Azagthtot Посмотреть сообщение
Ничего не "происходит преждевременно". Учите мать, вашу, часть ....
Допустим у вас частота обновления экрана 60Hz. Это 60 раз в секунду.
А либа у нас тормознаааааая... Да и вообще рисование -дело не быстрое. Пока посчитаешь точки, пока адресуешь их, а в ражиме EGA там вообще писец с регистрами-защелками... А картинка перересовывается... и того, в некоторый момент времени мы видим
- черный экран (все очищено)
- отрисованный на половину
- отрисованный полнстью
вот из-за этого и появляется мерцание.
А копирование ВСЕЙ видеопамяти - дело быстрое. Никаких очисток.
Так что, для анимации только фреймбуфер.

P.S. Если у вас подход "нет на это времени, куча зачетов еще впереди." то лучше смените специальность, пока не поздно Я серьезно
Первые 2а курса меня заботит только "остаться на плаву". Единственный вуз в городе, где есть ФИТ ПО. Отчисляют, как миленьких и в не малых кол-вах(по пол группы в 1 семестре). Зацикливаться сейчас на чем то, делать только хуже себе.
Effas вне форума Отправить сообщение для Effas с помощью Skype™ Ответить с цитированием
Непрочитано 21.12.2011, 21:53   #6
Аватар для brilliant
Пользователь

По умолчанию Re: Мигание

Цитата:
Сообщение от Effas Посмотреть сообщение
Первые 2а курса меня заботит только "остаться на плаву". Единственный вуз в городе, где есть ФИТ ПО. Отчисляют, как миленьких и в не малых кол-вах(по пол группы в 1 семестре). Зацикливаться сейчас на чем то, делать только хуже себе.
Советую сменить подход и не просто "остаться на плаву", а именно учиться, потому что если не усвоить начальный материал, то дальше будет еще сложнее и придется мучатся (по собственному опыту говорю).
brilliant вне форума Ответить с цитированием
Непрочитано 21.12.2011, 22:02   #7
Аватар для Effas
Пользователь

Автор темы (Топик Стартер) Re: Мигание

Цитата:
Сообщение от brilliant Посмотреть сообщение
Советую сменить подход и не просто "остаться на плаву", а именно учиться, потому что если не усвоить начальный материал, то дальше будет еще сложнее и придется мучатся (по собственному опыту говорю).
То, о чем говорил Николай, в нашей учебной программе не присутствовало, -> этот материал мне никак не нужен, а только усложняет моё нынешнее положение(нужен будет? буду разбираться).
Примерную картину на последующие курсы я представляю, то, что мне пригодится, а что нет.
Тот же с/с++, мне боком не упирается, особенно его кривые моменты. От него, что мне требуется - это представление о ООП и ЯП в целом. И по поводу работ по пргм, мне только лиж бы сдать. Это не значит, что меня не интересует моя буд. спец. и т.д. Мне просто напросто не интересен, да же противен этот язык, аля си (на это есть много причин, и только не надо говорить о других языках, которые основаны на си).

Но, это никак не относится к математике, т.к. она была, есть и будет.
Effas вне форума Отправить сообщение для Effas с помощью Skype™ Ответить с цитированием
Непрочитано 21.12.2011, 22:07   #8
Аватар для brilliant
Пользователь

По умолчанию Re: Мигание

Цитата:
Сообщение от Effas Посмотреть сообщение
То, о чем говорил Николай, в нашей учебной программе не присутствовало, -> этот материал мне никак не нужен, а только усложняет моё нынешнее положение(нужен будет? буду разбираться).
Примерную картину на последующие курсы я представляю, то, что мне пригодится, а что нет.
Тот же с/с++, мне боком не упирается, особенно его кривые моменты. От него, что мне требуется - это представление о ООП и ЯП в целом. И поповоду работ по пргм, мне только лиж бы сдать.
Но, это никак не относится к математика, т.к. она была, есть и будет.
Я тоже так думал изначально, но сдавать-то эти "ненужные" предметы всё-равно надо. Я к тому, что хотябы на тройку, но знать "ненужные" предметы надо. Если вы учите и знаете их, то это хорошо, но если забить на них, то перед экзаменом придется посидеть плотно недельку (ну тут индивидуально конечно).
Выглядит как типичное нравоучение, но говорю не просто так)
brilliant вне форума Ответить с цитированием
Непрочитано 21.12.2011, 22:11   #9
Аватар для Effas
Пользователь

Автор темы (Топик Стартер) Re: Мигание

Цитата:
Сообщение от brilliant Посмотреть сообщение
Я тоже так думал изначально, но сдавать-то эти "ненужные" предметы всё-равно надо. Я к тому, что хотябы на тройку, но знать "ненужные" предметы надо. Если вы учите и знаете их, то это хорошо, но если забить на них, то перед экзаменом придется посидеть плотно недельку (ну тут индивидуально конечно).
Выглядит как типичное нравоучение, но говорю не просто так)
Не туда вы плывете, фраза "Остаться на плаву" - означала заниматься только тем, что есть аля в рамках программы(лекций) и не уплывать за буйки.
Effas вне форума Отправить сообщение для Effas с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 17:21. Часовой пояс GMT +3.

Вверх