Привет всем.
У меня такой вопрос. Мое приложение считывает некоторый файл, считает картинку и затем рисует ее в окне средствами OpenGL.
Проблема в следующем. На быстрых машинах все окей, на медленных( надеюсь это мое предположение верно и работа приложения не зависит от чего то другого — видеокарты и так далее) мне нужно сделать ресайз или кликнуть мышкой чтобы картинка появилась.
В чем тут может быть дело? Если бы это была ошибка моего алгоритма, тогда это проявлялось бы на любой машине — даже на медленных иногда все работает хорошо.
Re: OpenGL, медленные машины, не работает корректно.
Здравствуйте, kata, Вы писали:
K>Привет всем. K>У меня такой вопрос. Мое приложение считывает некоторый файл, считает картинку и затем рисует ее в окне средствами OpenGL. K>Проблема в следующем. На быстрых машинах все окей, на медленных( надеюсь это мое предположение верно и работа приложения не зависит от чего то другого — видеокарты и так далее) мне нужно сделать ресайз или кликнуть мышкой чтобы картинка появилась. K>В чем тут может быть дело? Если бы это была ошибка моего алгоритма, тогда это проявлялось бы на любой машине — даже на медленных иногда все работает хорошо.
Поищи утилиты для отладки OpenGL приложений
Re: OpenGL, медленные машины, не работает корректно.
Возможно, что на медленных машинах команда перерисовки не приходит или приходит не вовремя. Есть абсолютная уверенность в том, что на всех машинах последовательность создания/вывода/перерисовки окна одинаковая? Есть возможность посмотреть по логам?
Re[2]: OpenGL, медленные машины, не работает корректно.
Здравствуйте, Turyst, Вы писали:
T>Здравствуйте, kata, Вы писали:
K>>Привет всем. K>>У меня такой вопрос. Мое приложение считывает некоторый файл, считает картинку и затем рисует ее в окне средствами OpenGL. K>>Проблема в следующем. На быстрых машинах все окей, на медленных( надеюсь это мое предположение верно и работа приложения не зависит от чего то другого — видеокарты и так далее) мне нужно сделать ресайз или кликнуть мышкой чтобы картинка появилась. K>>В чем тут может быть дело? Если бы это была ошибка моего алгоритма, тогда это проявлялось бы на любой машине — даже на медленных иногда все работает хорошо.
T>Поищи утилиты для отладки OpenGL приложений
А что за утилитки — может подскажите?
Re[3]: OpenGL, медленные машины, не работает корректно.
Здравствуйте, kata, Вы писали:
K>Здравствуйте, Turyst, Вы писали:
T>>Здравствуйте, kata, Вы писали:
K>>>Привет всем. K>>>У меня такой вопрос. Мое приложение считывает некоторый файл, считает картинку и затем рисует ее в окне средствами OpenGL. K>>>Проблема в следующем. На быстрых машинах все окей, на медленных( надеюсь это мое предположение верно и работа приложения не зависит от чего то другого — видеокарты и так далее) мне нужно сделать ресайз или кликнуть мышкой чтобы картинка появилась. K>>>В чем тут может быть дело? Если бы это была ошибка моего алгоритма, тогда это проявлялось бы на любой машине — даже на медленных иногда все работает хорошо.
T>>Поищи утилиты для отладки OpenGL приложений
K>А что за утилитки — может подскажите?
Тут гугл по запросу OpenGL debugger подсказывает nvPerfHUD, gDEBugger... Но с ними дела не имел.
В DirectX SDK есть DirectX Debug Runtime, єто если надумаете сменить API
Re: OpenGL, медленные машины, не работает корректно.
glFlush(); не помогает?
Может действительно рисование по другому идёт для слабых машин, на основании например отсутствии поддержки какого то расширения?
Re: OpenGL, медленные машины, не работает корректно.
Здравствуйте, kata, Вы писали:
K>Привет всем. K>У меня такой вопрос. Мое приложение считывает некоторый файл, считает картинку и затем рисует ее в окне средствами OpenGL. K>Проблема в следующем. На быстрых машинах все окей, на медленных( надеюсь это мое предположение верно и работа приложения не зависит от чего то другого —
А на уровне winapi — в какой момент происходит рисование опенжеелем? По идее должно быть в ответ на WM_PAINT. Если это не так — то будут всякие артефакты вроде вами описанного.
Стоят ли правильные стили у окна? (Всякие клип чилдрен- клип сиблингс (см документацию по wgl)
Еще полезно отменить стирание фона возвращением ТРУ из пустого обработчика WM_ERASEBACKGROUND ( может путаю тут точное имя сообщения)
Ответте на эти вопросы — потом будем думать дальше....