Форум программистов, компьютерный форум, киберфорум
Наши страницы
OpenGL
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Igor3D
1227 / 594 / 74
Регистрация: 01.10.2012
Сообщений: 2,844
1

Задержка swapBuffers

06.02.2014, 10:55. Просмотров 1397. Ответов 6
Метки нет (Все метки)

Добрый день

Проблема: в каких-то случаях вызов aglSwapBuffers не обновляет экран. Однако если нажать мышь в окне - обновляется, при этом никаких новых рендеров не было. Попытки найти в отладчике место "где же обновился" не имели успеха. Напр если поставить break - обновился на момент останова, но прийти к той же точке по шагам - обновления нет. В прошлом была схожая проблема, решил установкой переменной AGL_SWAP_INTERVAL = 1. Здесь это ничего не дает

Понимаю что для agl фреймворк "устарел" - не то слово, но чтобы от него избавиться необходим рефакторинг который я сейчас и делаю.

Как говорят "Any idea?"

Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2014, 10:55
Ответы с готовыми решениями:

Как работает драйвер swapBuffers
В SDK есть такой стандартный сэмпл SwapBuffer File System Minifilter Driver....

Задержка
Здраствуйте, возникла проблема при использовании 86h int 15h. По идеи с помощю...

Задержка
Здравствуйте! Имеется такой код: mov eax mov ,ebx Мне нужно сделать задержку...

While и задержка
Здравствуйте, если можно нужен быстрый ответ :) Есть цикл while, мне нужно что...

Задержка :-)
Вот хочу помигать св.диодами, начало положено и становится все более ясней. Но...

6
_Develop
263 / 172 / 28
Регистрация: 24.01.2013
Сообщений: 503
06.02.2014, 11:59 2
Плохому танцору всегда что-то мешает. В данном случае aglSwapBuffers
Цитата Сообщение от Igor3D Посмотреть сообщение
Напр если поставить break - обновился на момент останова, но прийти к той же точке по шагам - обновления нет.
Все знают, что программу управляемую событиями пройти полностью по шагам не удастся. Только точки останова, расставленные в нужных местах.

Ваш К.О.
0
Igor3D
1227 / 594 / 74
Регистрация: 01.10.2012
Сообщений: 2,844
06.02.2014, 12:37  [ТС] 3
Цитата Сообщение от _Develop Посмотреть сообщение
Все знают, что программу управляемую событиями пройти полностью по шагам не удастся. Только точки останова, расставленные в нужных местах.
Ваш К.О.
Вы отлично вписались в образ К.О. Ну правда, все приложение приходить по шагам я не хотел - просто не смог бы Но обновляется (или нет) между 2-мя точками останова, то есть в коде нет ничего такого/специального. Впечатление что ОС почему-то не выводит на экран, а потом как бы вспомнил - и вывел

Цитата Сообщение от _Develop Посмотреть сообщение
Плохому танцору всегда что-то мешает.
Так я хорошим OpenGL танцором никогда не был и не буду, тупое запоминание API нагоняет на меня грусть и меланхолию. Но что поделаешь, есть проблемы которые нужно решать.
0
_Develop
263 / 172 / 28
Регистрация: 24.01.2013
Сообщений: 503
06.02.2014, 12:47 4
Попробуйте вызвать glFlush или glFinish перед glSwapBuffers. Бывали случаи, что это помогало.
0
Igor3D
1227 / 594 / 74
Регистрация: 01.10.2012
Сообщений: 2,844
06.02.2014, 13:45  [ТС] 5
Цитата Сообщение от _Develop Посмотреть сообщение
Попробуйте вызвать glFlush или glFinish перед glSwapBuffers. Бывали случаи, что это помогало.
Ну на это моих скромных познаний хватило Также пробовал CGContextFlush (вытолкнуть внутренний буфер окна в OSX) и CGContexSynchronize. К сожалению, ни одно из выталкиваний (ни их комбинации) ничего не дали
0
programina
2050 / 605 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
07.02.2014, 13:05 6
Надо убрать все лишнее из window_message_procedure(), оставить там только реакцию на закрытие окна (крестик в верхнем правом углу).
0
Igor3D
1227 / 594 / 74
Регистрация: 01.10.2012
Сообщений: 2,844
07.02.2014, 18:17  [ТС] 7
Цитата Сообщение от programina Посмотреть сообщение
Надо убрать все лишнее из window_message_procedure(), оставить там только реакцию на закрытие окна (крестик в верхнем правом углу).
Лошадка у Вас в аватаре хорошая
0
07.02.2014, 18:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2014, 18:17

Задержка
Добрый всем день. После получения фокуса должен выполнится запрос.У меня...

задержка
#include<iostream> int main() { char title; cin>>title; cout<<"dlina...

Задержка
Здравствуйте. Хочу поиграться с ШИМ, что б на COM порте светодиод плавно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru