Доброго времени суток, уважаемые!
Пишу кроссплатформенное приложение простейшее для вывода на экран набора подкрашенных пиксел при определённых, задаваемых пользователем, разрешениях. Использую для своих целей SDL и g++. С этим проблем никаких.
Однако, при передаче параметров горизонтальной и вертикальной развёрток (по пикселям) в функцию SDL_SetVideoMode, экран приобретает собственную дефолтную частоту обновления (на 640х480 у меня вообще 120 Гц показывает ЭЛТ-монитор). С ЖК-мониторами, скорее всего, стандарт - 60 Гц. Но требуется обеспечить поддержку для любых мониторов.
Возник вопрос (возможно, кто-либо сталкивался): как в привентивном порядке задавать эту самую частоту обновления экрана? Т.е. получать на выходе не 1024х768 85 Гц, а те же самые 1024х768 60 Гц, к примеру?
Мануал по SDL читал, сразу предупреждаю, но, либо чего-то не заметил, либо это не тривиальная задача. Тем не менее уверен, что смена частоты обновления в библиотеке предусмотрена. Иначе игроделам великой Кваки летели бы гневные письма от разочарованных фанатов, не сумевших подобрать требуемую им частоту.
ЗЫ К сожалению, другую библиотеку графики использовать не могу - кроссплатформенность и включённость SDL в состав почти любого дистрибутива Linux'a - основной критерий и основное требование.
Заранее благодарю!
Решено: SDL частота обновления монитора (вопрос: "как?")
Модератор: Модераторы разделов
-
Kontrast
- Сообщения: 4
- ОС: RFRemix 12
Re: Решено: SDL частота обновления монитора
Проблему решил. Частота обновления не изменяется средствами sdl. Однако, при установке разрешения для программы такого же, которое настроено в системе, частота обновления сохраняется системной. В противном случае обратная зависимость - при понижении разрешения частота снижается до предельного значения для данного разрешения, при снижении - повышается до предела.
Теперь возник более простой вопрос: как автоматически определять параметры разрешения X-рабочего стола Linux'a (Gnome, KDE, Elk и т.д.) средствами sdl, чтобы не прописывать самостоятельно новые параметры горизонтали и вертикали в функции SDL_SetVideoMode? Грубо говоря, как создать полноэкранное приложение, наследующее разрешение у рабочего стола ОС?
Теперь возник более простой вопрос: как автоматически определять параметры разрешения X-рабочего стола Linux'a (Gnome, KDE, Elk и т.д.) средствами sdl, чтобы не прописывать самостоятельно новые параметры горизонтали и вертикали в функции SDL_SetVideoMode? Грубо говоря, как создать полноэкранное приложение, наследующее разрешение у рабочего стола ОС?
-
grouzen
- Сообщения: 120
- ОС: LFS, slackware
Re: Решено: SDL частота обновления монитора
Kontrast писал(а): ↑14.02.2010 20:39Проблему решил. Частота обновления не изменяется средствами sdl. Однако, при установке разрешения для программы такого же, которое настроено в системе, частота обновления сохраняется системной. В противном случае обратная зависимость - при понижении разрешения частота снижается до предельного значения для данного разрешения, при снижении - повышается до предела.
Теперь возник более простой вопрос: как автоматически определять параметры разрешения X-рабочего стола Linux'a (Gnome, KDE, Elk и т.д.) средствами sdl, чтобы не прописывать самостоятельно новые параметры горизонтали и вертикали в функции SDL_SetVideoMode? Грубо говоря, как создать полноэкранное приложение, наследующее разрешение у рабочего стола ОС?
"Рабочий стол ОС" звучит сильно конечно (%
man SDL_GetVideoInfo.
-
Kontrast
- Сообщения: 4
- ОС: RFRemix 12
Re: Решено: SDL частота обновления монитора
Сильно, согласен - я вторые сутки уже не сплю из-за этой библиотеки. Пусть будет "текущее разрешение экрана" 
Мануал читал и даже пробовал его элементы. Только "the best resolution" вовсе не текущее разрешение экрана, а некоторое, взятое с потолка (в частности, по ретёрну функции, 640 х 480 при моём широкоформатном мониторе). В том и интерес, что был бы ответ на поверхности, не стал бы спрашивать и тратить время форумчан...
Мануал читал и даже пробовал его элементы. Только "the best resolution" вовсе не текущее разрешение экрана, а некоторое, взятое с потолка (в частности, по ретёрну функции, 640 х 480 при моём широкоформатном мониторе). В том и интерес, что был бы ответ на поверхности, не стал бы спрашивать и тратить время форумчан...
-
Kontrast
- Сообщения: 4
- ОС: RFRemix 12
Re: Решено: SDL частота обновления монитора
Благодарю, grouzen!
Вы дали требуемый импульс в сотый раз поискать там, где уже искал. Оказалось всё несколько проще и сложнее одновременно. Действительно, SDL_GetVideoInfo. У меня оказались неверно настроены функции вывода информации, а работала она исправно. Вот что делает с программистом новая система и два дня без сна
Тему можно закрывать...
Вы дали требуемый импульс в сотый раз поискать там, где уже искал. Оказалось всё несколько проще и сложнее одновременно. Действительно, SDL_GetVideoInfo. У меня оказались неверно настроены функции вывода информации, а работала она исправно. Вот что делает с программистом новая система и два дня без сна
Тему можно закрывать...