Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Программирование / Programming (https://forum.zone-game.info/forumdisplay.php?f=98)
-   -   Мигание (https://forum.zone-game.info/showthread.php?t=17240)

Effas 21.12.2011 20:00

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

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

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


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


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

Azagthtot 21.12.2011 20:46

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

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

Effas 21.12.2011 21:02

Re: Мигание
 
Цитата:

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

Спасибо большое, но нет на это времени, куча зачетов еще впереди.
Так сдам ргрку, думаю не будет препод выкаблучиваться, т.к. с тем, что вы написали, дело не имели.

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

Спасибо, тема закрыта. Ваш ответ стоит записать и обосновать завтра это мигание :loltt0:

Azagthtot 21.12.2011 21:09

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

P.S. Если у вас подход "нет на это времени, куча зачетов еще впереди." то лучше смените специальность, пока не поздно :( Я серьезно

Effas 21.12.2011 21:23

Re: Мигание
 
Цитата:

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

P.S. Если у вас подход "нет на это времени, куча зачетов еще впереди." то лучше смените специальность, пока не поздно :( Я серьезно

Первые 2а курса меня заботит только "остаться на плаву". Единственный вуз в городе, где есть ФИТ ПО. Отчисляют, как миленьких и в не малых кол-вах(по пол группы в 1 семестре). Зацикливаться сейчас на чем то, делать только хуже себе.

brilliant 21.12.2011 21:53

Re: Мигание
 
Цитата:

Сообщение от Effas (Сообщение 154151)
Первые 2а курса меня заботит только "остаться на плаву". Единственный вуз в городе, где есть ФИТ ПО. Отчисляют, как миленьких и в не малых кол-вах(по пол группы в 1 семестре). Зацикливаться сейчас на чем то, делать только хуже себе.

Советую сменить подход и не просто "остаться на плаву", а именно учиться, потому что если не усвоить начальный материал, то дальше будет еще сложнее и придется мучатся (по собственному опыту говорю:().

Effas 21.12.2011 22:02

Re: Мигание
 
Цитата:

Сообщение от brilliant (Сообщение 154158)
Советую сменить подход и не просто "остаться на плаву", а именно учиться, потому что если не усвоить начальный материал, то дальше будет еще сложнее и придется мучатся (по собственному опыту говорю:().

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

Но, это никак не относится к математике, т.к. она была, есть и будет.

brilliant 21.12.2011 22:07

Re: Мигание
 
Цитата:

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

Я тоже так думал изначально, но сдавать-то эти "ненужные" предметы всё-равно надо. Я к тому, что хотябы на тройку, но знать "ненужные" предметы надо. Если вы учите и знаете их, то это хорошо, но если забить на них, то перед экзаменом придется посидеть плотно недельку (ну тут индивидуально конечно).
Выглядит как типичное нравоучение, но говорю не просто так)

Effas 21.12.2011 22:11

Re: Мигание
 
Цитата:

Сообщение от brilliant (Сообщение 154161)
Я тоже так думал изначально, но сдавать-то эти "ненужные" предметы всё-равно надо. Я к тому, что хотябы на тройку, но знать "ненужные" предметы надо. Если вы учите и знаете их, то это хорошо, но если забить на них, то перед экзаменом придется посидеть плотно недельку (ну тут индивидуально конечно).
Выглядит как типичное нравоучение, но говорю не просто так)

Не туда вы плывете, фраза "Остаться на плаву" - означала заниматься только тем, что есть аля в рамках программы(лекций) и не уплывать за буйки.


Текущее время: 21:24. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot