IPB

Добро пожаловать, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> Display default refresh rate (Windows XP), частота обновления монитора под разрешение
-=CHE@TER=-
Jan 2 2015, 17:57
Сообщение #1


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,353
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 311 раз(а)



Расскажу я вам грустную историю, но со счастливым концом.

Лет 5 назад купил я Samsung SyncMaster 931c (это LCD-монитор) вместо своего старого CRT-монитора CTX'99 (точную модель не помню), который вдруг начинал показывать фиолетовые полосы на экране.

Всё было отлично с SyncMaster 931c, но в разрешениях 320x200 и 640x400 монитор отключался и выдавал табличку, что выбранное разрешение и/или частота не поддерживаются. И если, скажем, для D3D игры это можно было как-то забодать через настройки nVIDIA (там можно задать произвольную частоту обновления экрана), то для приложений использующих ChangeDisplaySettings() это была труба (практически все приложения использующие SDL - например, DOSBox). Т.е. выходов было три:
- менять разрешение программы (если можно было);
- работать в оконном режиме (если программа поддерживала оконный режим);
- ломать программу, чтобы выставлялось другое разрешение (например 640x480).

Эти два разрешения требовались нечасто, так что головняка особого с ними не было, но сегодня я понял, что меня это уже бесит. Тогда я решил таки забороть эту проблему и разбил её на две подзадачи:
1) Разобраться есть ли хоть какая-то частота развёртки с которой монитор работает в указанных разрешениях.
2) Разобраться можно ли как-то указать в системе какую частоту развёртки использовать, если приложение не указало свою.

Для решения первой подзадачи написал я небольшую программку, где при помощи уже упомянутой ChangeDisplaySettings() и флага DM_DISPLAYFREQUENCY (там было ещё три - ширина, высота и BPP) начал перебирать все частоты от 60 до 100 при разрешении 640x400 и 32 битах (битность, на самом деле, не так уж и важна). На удивление оказалось что монитор работает в этих режимах (320x200 и 640x400) при 70 Hz, в то время как в остальных - и на 60 Hz без проблем (которое, к слову, по умолчанию и выставлялось).

Отлично! Переходим ко второй подзадаче. Тут мне пришлось изрядно нагуглиться, т.к. что именно мне нужно я толком не знал - сделал только предположение, что это какая-то настройка в реестре. И, на удивление, таки нашлось это и это.

Приведу пошаговую инструкцию с примерами для тех, кто решился повторить подвиг.

Внимание! Здесь и далее параметры выделенные жирным будут специфичны для каждого отдельного компьютера, а тут они приведены для примера!

1) Лезем в ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY
Далее находим там свой монитор - у меня это был "SAMSUNG" - раскрываем ветку и там будет несколько параметров. У меня их было 4 штуки, так что я выбрал последний и щёлкнул на нём.

2) Внутри нас интересует строчка "Driver" равная некоему GUID'у. У меня там было:
"Driver"="{01234567-89AB-CDEF-0123-456789ABCDEF}\0003"
Записываем куда-нибудь эту строчку.

3) Далее лезем сюда:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class
После чего находим значение из "Driver" п.2 и раскрываем его, затем создаём там подраздел "MODES", а внутри него ещё один подраздел "640,400". В итоге должно получиться что-то типа:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{01234567-89AB-CDEF-0123-456789ABCDEF}\0003\MODES\640,400
Создаём там текстовый параметр "Mode1", куда вписываем диапазоны разрешённых частот обновления (т.к. нам известна только нижняя - 70, то ей и ограничиваем):
"Mode1"="70-70,70-70,+,+"

4) Проделываем тоже самое для 320x200 в том же подразделе "MODES".

5) Готово - всё будет работать, даже перегружаться не нужно.

Если не сработало - значит в п.1 был выбран не тот монитор (ветка GUID в п.3 будет нерабочая).
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Siberian GRemlin
Jan 5 2015, 08:06
Сообщение #2


Advanced Member
***

Группа: CTPAX-X
Сообщений: 533
Регистрация: 4-February 08
Пользователь №: 2
Спасибо сказали: 221 раз(а)



Несколько лет назад пришлось менять монитор. В магазинах мне либо не нравилась цена, либо качество корпуса, выносной БП 0_0 или ещё что-нибудь. В итоге я купил себе ЖК телек со светодиодной подсветкой «Samsung». Проблем нет вообще никаких ни с какими разрешениями, корпус из качественных материалов (сделано в России), БП внутри, цена в разы меньше чем за мониторы аналогичного размера. Заметил, что изображение чётче через обычный кабель от монитора, нежели через HDMI, причём звук легко подрубается через обычный шнур от звуковухи. Плюс куча видео и аудио входов и весь функционал современного телека.


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jan 6 2015, 09:40
Сообщение #3


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,353
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 311 раз(а)



А, вот, кстати, мысль про ТВ интересная (кажется, у того же Samsung видел мониторы со встроенной возможностью ТВ (вход для кабеля-антенны) - там даже пульт был), но у меня его тупо из-за размеров поставить некуда будет: сверху книжные полки над столом, с одной стороны стена, с другой системный блок - короче, места нет. К тому же ТВ, как я понимаю, большие и, значит, работать с ними нужно с большого расстояния, чтобы головой вертеть не приходилось и было всё видно. И тут, опять таки, всё упирается в проблему с местом.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Siberian GRemlin
Jan 11 2015, 05:08
Сообщение #4


Advanced Member
***

Группа: CTPAX-X
Сообщений: 533
Регистрация: 4-February 08
Пользователь №: 2
Спасибо сказали: 221 раз(а)



Да, телек выглядит устрашающе на фоне компа. Я, кстати, не мерил расстояние от глаз до экрана, точно больше полуметра, может даже метр. Клава с мышкой сейчас когда пишу значительно дальше от экрана.



Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Siberian GRemlin
Jan 24 2015, 17:50
Сообщение #5


Advanced Member
***

Группа: CTPAX-X
Сообщений: 533
Регистрация: 4-February 08
Пользователь №: 2
Спасибо сказали: 221 раз(а)



Решил совсем угореть. Купил 10 метров видеокабеля (VGA), а 10 метров аудиокабеля нет в продаже — пришлось самому паять. Вынуждено познакомился с дедушкиным методом пайки. На аудиоразъёме контакты оказались из никеля и к нему не паялось. Дело было поздним вечером, пришлось идти за аспирином в дальнюю аптеку, работающую до полночи. Да, в зале у меня стоит тоже «Samsung», но побольше.

Хорошо когда у видюхи целых три выхода. И, да, HDMI брать не стал по причине меньшей чёткости и высокой цены — два дешёвых HDMI у меня быстро вышли из строя: пропал сигнал, надо было сначала его пошевелить, но потом и это перестало помогать. Дорогой HDMI к счастью пашет уже долго и без проблем. А с данной схемой у меня затраты немного превысили одну тысячу рублей.

Жизнь должна приносить радость! Особенно если вспомнить два последних года, которые по большей части были мерзкими как лично у меня так и многих моих друзей. Так что радуйте себя как я или лучше чем я. biggrin.gif Теперь буду смотреть фильмы прямо с компа лёжа на диване без лишних заморочек. Осталось только провода запрятать.

P. S. К сожалению, большой телек я покупал раньше и он не умеет с внешних носителей видео проигрывать (только картинки и аудио), а маленький, который вместо монитора — умеет. huh.gif



P. P. S. Посоветуйте беспроводную мышку, чтобы брала метров на 15—20. rolleyes.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jan 24 2015, 20:47
Сообщение #6


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,353
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 311 раз(а)



Like a Boss!
Мышку, увы, посоветовать не смогу - сам только проводными пользовался.
А насчёт смотреть с дивана - подумываю всунуть себе в комп одну старую видеокарту, которая где-то в коробке валяется - она с пультом управления идёт. Хочу как-нибудь реверснуть дрова к нему и сделать так, чтобы компьютером можно было с этого пульта управлять (он заточен только на работу со своим софтом). Но это всё в далёких планах.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
RAYN3
Feb 3 2016, 22:18
Сообщение #7


Member
**

Группа: CTPAX-X
Сообщений: 10
Регистрация: 3-February 16
Пользователь №: 18,027
Спасибо сказали: 9 раз(а)



в свое время заморачивался подобной проблемой..

Первым моим домашним кинотеатром стал XBOX 1 с увеличенным жестким диском( у него присутствует ethernet что гораздо облегчает жизнь)

Вторым моим медиацентром стала конструкция на базе athlon 1600+ со спутниковой картой trendnet tt-1601(вроде так) программой prog dvb и инфракрасным управлением ( подключается обычный инфракрасный приемник к порту RS-232, далее ставим управляющий софт( это была программа от российского программиста, не вспомню название- могу поискать в своих закромах) позволяла делать практически все с помощью обычного пульта от телека/муз центра с протоколом RC-5.
В качестве основного дашбоарда (смотреть фильмы/фотки музыку) я поставил XBMC DASHBOARD, по совместительству комп раздавал интернет с 3 g свистка.
Пользоваться в целом этим было удобно.

Тритий вариант - спутниковый ресивер S8129 от GI, и телек тошиба с HDMI и USB. сижу на этом варианте.. работает практически все


"P. P. S. Посоветуйте беспроводную мышку, чтобы брала метров на 15—20."

варианты: удаленка с планшета на комп( например бесплатная программулина RMS удаленное управление)
собрать инфракрасный приемник под пульт например от телека
купить блютуз мышь


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Oct 26 2017, 20:21
Сообщение #8


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,353
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 311 раз(а)



Мой Samsung SyncMaster 931c стал с некоторого времени, как прогреется, идти красными полосами. Рябь не то чтобы заметна (особенно она хорошо видна почему-то на сайте Siberian GRemlin'а, хех), но в глазах мерцать через некоторое время начинает, да и устаёшь. Новый моник покупать - 10К минимум нужно. Отдал знакомому, тот за косарь перепаял все полопавшиеся за 9 лет кондеры, но не помогло. Вдвоём сидим, тупим, думаем что бы ещё такое было. Залезли в настройки монитора, там стоит 70 Hz и других частот с галкой "Скрыть режимы, которые монитор не может использовать" в списке нет. Сняли галку, поставили минимум, который там был - 60 Hz. Полосы пропали. Не знаю надолго ли, но будет возможность - надо будет новый монитор брать.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Nov 20 2017, 18:48
Сообщение #9


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,353
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 311 раз(а)



Абзац просто, я скоро специалистом стану по мониторам и их управлению в Windows.
Тут выяснилось, что если галка "Скрыть режимы, которые монитор не может использовать" снята, т.е. параметр PruningMode равен нулю в ветке:
HKLM\SYSTEM\CurrentControlSet\Control\Video\{тут-некоторый-GUID}\0000
То описанные в первом сообщении этой темы хаки с частотой обновления неработают и тупо игнорируются - я не вижу изображения в тех видеорежимах!
Если этот параметр из реестра включить в 1 (чтобы выбранная в настройках частота 60 осталась), то после возвращения из 640x400 или другого режима частота монитора вернётся в 70 и опять поползут красные полосы.
Если поставить хак для 1024x768 вот так:
"Mode1"="60-60,60-60,+,+"
Как описано в первом сообщении темы, то при включённом PruningMode в системе, вообще, нафиг пропадает разрешение 1024x768 и она переключается в 800x600!
Ситуация патовая, что делать непонятно.
Если кто знает как это побороть, то напишите пожалуйста.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 28th March 2024 - 10:53