|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.10.2011, 17:15 | #1 |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
Мерцание моих проектов на отличных машинах от моей
Добрый день. Я ни разу не задумывался над тем, что мои проекты не отображаются на некоторых компьютерах. Попробую рассказать всю свою историю. Введу краткие обозначения: (Д1) - 1-ый друг, (Д2)-Второй.
У Д1 конфигурация компьютера схожа с моим. У Д2 машина в половину слабее наших. Но дело не в этом. Я сейчас пишу графическое приложение на OpenGL(не буду скрывать, что это игрушка). У меня все работает отлично, у Д1 тоже, но вот у Д2 серый экран(цвет тот, который задан у формы(Form1.Color)). Иногда проскакивает картинка. Я решил откомпилировать ее у него на компьютере, но это действие оказалось бесполезным. Добавил в процедуру рисования glfinish, попробовал увеличить интервал таймера с процедурой refresh - ничего. Кстати, добавлю что при обоих условиях изображение иногда мелькало(но один раз и его практически невидно). Рискнул поставить интервал равным 5000 и сделал открытие. Картинка держалась 5 сек и при перерисовке моргала(появлялся цвет формы). Я решил создать новое приложение с простым цветным квадратом. Все равно с интервалом 100 мелькания продолжались. Я подумал, что проблемы с драйверами, но нет, Counter - Strike Source работает. Следовательно это моя ошибка. Прошу вас указать эту ошибку. Я выкладываю тот самый цветной квадрат, который работает у меня, но не работает у Д2. Заранее благодарю. P.S. ОС у нас одинаковые. Плюс ко всему эти мерцания продолжаются на компьютерах в кабинете информатики. |
16.10.2011, 09:28 | #2 |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
Ладно я выложу исходный код, и вы посмотрите, может там где-то есть ошибка. Возможно, смутил вас своим рассказом.
Код:
Последний раз редактировалось _PROGRAMM_; 16.10.2011 в 09:33. |
16.10.2011, 09:41 | #3 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
...хорошо бы добавить буферизацию через glCallList().
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
16.10.2011, 13:49 | #4 |
Форумчанин
Регистрация: 10.09.2009
Сообщений: 352
|
Вот не надо этого, вот не надо!
У автора темы сейчас совершенно другие проблемы _PROGRAMM_, По поводу кода... 1. PFD_DOUBLEBUFFER + PFD_DRAW_TO_WINDOW + PFD_SUPPORT_OPENGL Ну кто так делает?! Флаги объединяются OR-ом, а не плюсом! И это не просто хороший стиль, а другой результат в случае, если какие-то биты равны 2. У pfd не устанавливаешь cColorBits и cDepthBits. Занеси туда, например, 32 и 16 соответственно 3. BeginPaint, EndPaint и glFinish убери, они не нужны. Хуже не будет точно. 4. У меня была та же ерунда. Ничего не придумал, и положил в папку с exe'шником игры свои opengl32.dll и glu32.dll из C:\WINDOWS\system32. У всех всё нормально стало отображаться. Хотя выход это, конечно, временный... А вообще, незачем самостоятельно инициализировать графику. Посмотри библиотеку GLFW (http://glfw.org/), она создаёт окно и контекст OpenGL. Есть заголовочный файл для Delphi. Просто ты не можешь учесть особенности всех ОС и всех версий OpenGL, а там это учтено. И она кроссплатформенная))) Последний раз редактировалось anyx; 16.10.2011 в 13:52. |
17.10.2011, 14:37 | #5 | ||
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
raxp, спасибо но мне нужно отработать возникшую проблему.
аnyx теперь я обращаюсь к Вам. Я сразу не отвечал, потому что решил сначала все опробовать. Сразу скажу, что совет Цитата:
Теперь самое главное. То, что меня заинтересовало - GLFW . К сожалению я не очень хорошо знаю английский, поэтому документацию я пока не читал. Меня обрадовало слово Цитата:
Спасибо вам. |
||
17.10.2011, 15:11 | #6 | ||
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Цитата:
Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
||
17.10.2011, 19:06 | #7 | |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
Цитата:
|
|
19.10.2011, 13:54 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
списки в OpenGL, это сохраненные(скомпилированные) команды, которые затем можно очень просто вызвать, выполняются они быстрее чем сами команды.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
19.10.2011, 15:31 | #9 | |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
Цитата:
Буду благодарен. Последний раз редактировалось _PROGRAMM_; 19.10.2011 в 15:35. |
|
19.10.2011, 15:57 | #10 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
http://programmersforum.ru/showthrea...List%28&page=2
http://programmersforum.ru/showthread.php?t=69832 http://programmersforum.ru/showpost....85&postcount=3 http://programmersforum.ru/showpost....58&postcount=7 p.s.: и еще, для своего приложения ведь doublebuffered имеется в true ? Кстати, и выводите свою прорисовку не на форму, а на TPanel.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
снова об виртуальных машинах. | Пепел Феникса | Общие вопросы по программированию, компьютерный форум | 12 | 25.08.2011 23:35 |
данные о машинах не прошедших техосмотр | Анастасья | Помощь студентам | 4 | 27.05.2011 14:29 |
Для созданного текста определить длину содержащейся в нем максимальной серии символов, отличных от букв. | rusfin01 | Помощь студентам | 1 | 28.02.2011 10:25 |
Загрузка форматов, отличных от bmp в HBitMap. | Alex Cones | Общие вопросы Delphi | 8 | 29.01.2011 14:35 |
макрос на разных машинах | gsg | Microsoft Office Excel | 12 | 03.08.2010 13:18 |