Как стать автором
Обновить

Комментарии 48

из за этого и не пользуюсь нестандартными dpi. а как бы было всё хорошо. сидеть на диване и управлять ПК. хорошо что браузеры умеют масштабировать
Жаль только, что и многие разработчики сайтов по прежнему толком не учитывают большие разрешения экранов. Но это отдельная история…
Увы, в браузерах тоже не всё так хорошо. Уже не раз натыкался на флеш-игры в которых вылазят подобные проблемы из-за масштабирования в браузере.
У меня бук 11.6'' 1366х768. (Какой получается dpi — страшно подумать)

На стандартных настройках черт лаз сломит.
На пониженном разрешении — картинка неприятно «замыливается»
Выбрал в Win7 DPI шрифтов 125%, несмотря на то, что некоторые интерфейсы стали отображаться с огрехами
Разве это хорошо? На диване отдыхать нужно, от работы. Хотя какая тут работа.
НЛО прилетело и опубликовало эту надпись здесь
Просто в линуксе почти все GUI программы написаны на GTK или Qt, в которых в отличие от WinAPI есть контейнеры и программисту не нужно заботится о позиции элементов. А по поводу скриншота, там фон пнгшкой, артефакта не было бы будь там вектор.
НЛО прилетело и опубликовало эту надпись здесь
Вот из-за этой проблемы весь интернет перелазил в поисках приложения, умеющего делать Zoom Out для конкретного приложения. Ни под убунту, ни под винду не нашел. Так и приходится монитор подключать к нетбуку, чтобы UFRaw использовать.
За такое надо пинать в первую очереть не отделы разработки а QA отделы, т.к. они такие продукты пускают в мир. Разработчик не может помнить обо всем на свете, но если над ним будет висеть домоклав меч тест кейса на проверку работы продукта на нестандартных разрешениях экрана, на нестандартных размерах штифтов, на нестандартных темах оформления — то он будет и GUI верстать правильно.
Не совсем понятно при чем тут Intel, такая проблема характерна для разного софта…
Все просто — Интел любит нетбуки, нетбуки это либо маленькое разрешение, либо большие DPI.
Косвенная связь мне понятна, но, по-моему, описанная проблема относится больше к дизайну интерфейса, чем к Intel. Ведь у нетбуков на базе AMD будет те же проблемы…
Очень хорошо ;) Точнее, — очень плохо… Не важно, кто и какие нетбуки (телефоны, планшеты и так далее) производит. Чем лучше софт — тем больше их купят. Вот это — важно.
Родной софт к моей камере (HD writer 2.5e) при запуске честно говорит «я не буду работать на разрешении меньше 1024х768». И если бы у нетбука не было драйверов, поддерживающих увеличение высоты экрана с прокруткой — не запустился бы. Мелочь, а неприятно.
эта проблема актуальна как минимум с Windows 95.
Как я знаю, GUI в windows задаётся в пикселах. Вот, собственно, и всё — тупик.

С самого начала об этом не подумали — сейчас уже поздно менять в C++.
В Java очень сложно создать разметку окна в пикселах — там есть чудесные LayoutEngine, которые делают эту работу за вас. Уверен, в .NET и WPF примерно так и сделано.

А глючные программы на Visual C++ уже, боюсь не убить.
С++ здесь не причем, если кого и обвинять так WinAPI. Существуют способы создавать масштабируемые окна, другое дело что различные разрешения не всегда учитываются.
>Как я знаю, GUI в windows задаётся в пикселах.

Неправильно вы знаете.
ну, расскажите нам, как правильно!

Я знаю, что в Windows API, функция CreateWindow принимает размеры в пикселах: «Specifies the width, in device units». Очевидно, всем будет лень сначала умножить это и другие подобные числа на 120%.
С висты и выше есть такая вещь, как DPI-virtualisation. Она сама умножает.
Диалоги обычно создаются через CreateDialog. Которому передаётся темплейт. В котором используются DLU. Перевод которых в пиксели зависит от текущего DPI.
У меня 1920х1200 и у меня похожая проблема, но только с сайтами — они очень часть располагаются у левого края и очень неудобно читать(((Только некоторые сайты размещаются строго по центру и все мои знакомые программисты говорят, что у тебя очень редкое разрешение и дескать, у них других проблем хватает чтобы еще и под такое разрешение тестировать софт\сайт.
Чтобы расположить сайт по центру, достаточно одного тега и одного css-правила.
причем подавляющее большинство сайтов с фиксированной шириной ими успешно пользуются, где RedSkinS только находит остальные.
проблема не в уникальности разрешения монитора. Потому что если на странице указан корректный DOCTYPE, то чтобы выронять блок сайта по центру достаточно в его стиле указать margin: 0 auto;. И тогда, насколько мне известно, в большинстве браузеров(в том числе и в IE6) выравнивание будет работать
Я не в курсе как это делается — я не программист) Просто на мой взгляд проблема есть и её не особо хотят решать.
Да… похоже опять человеческий фактор :)
Если точнее — банальная лень)
Тоже люблю сидеть под 125%. Но под виндой то ладно — хотя бы можно увеличить и все ок будет по крайней мере в системе. А вот под MacOS вообще жопа — там стандартный Finder даже криво написан и в 125% глучит по страшному.
Хахаха, индусы не слышали про dpi!
чем больше разработчиков и тестеров, и чем более разные среды работы — тем меньше подобных ошибок в конечном продукте. Так например я всегда меняю цвет заднего фона окон в винде — и вуаля — очередная бага нашей программы становится очевидной — кто-то поставил показывать всегда белый цвет. И так далее. Проблемы же с разрешением обычно решаются использованием лэйаутов ( Qt ), Сайзеров ( wxWidgets )
Наверное этой статье все таки уютнее будет тут — Эти пользовательские интерфейсы
А по делу, Microsoft встала на путь исправления, интерфейсы на WPF и Silverlight уже не зависят от DPI пользовательской машины, соответственно и шансов допустить подобные ляпы у разработчиков меньше. Хотя я все равно поддерживаю crashdumper, на этапе тестирования такие вещи должны строго контролироваться. На собственном опыте убедилась, что как ты не проверяй интерфейс сам — все равно другой человек найдет ляпы, которые ты просто не в состоянии увидеть.
Довольно долго без проблем пользовался одной кроссплатформенной Java-программой, пока не купил монитор с разрешением 2048p по горизонтали. Оказалось, что в программе существуют опции и кнопки, которых просто не было видно на мониторе с разрешением 1280p по ширине :)

Кроме нестандартного разрешения и DPI есть ещё один класс проблем, за которые программистам нужно отрывать ноги (руки оставлять, чтобы могли исправить :) — кодировка.

Болеют проблемами с кодировкой обычно «русские» программы — их «программисты», видимо, не подозревают, что Windows не всегда бывает русский (хотя, казалось бы, русские программисты должны ещё помнить те времена, когда проблемы с кириллицей возникали в большинстве западных программ, и постараться избежать этой проблемы в своём софте).
Но, в итоге, получаем кракозябры или знаки вопроса вместо кириллицы в большинстве русских приложений в «нерусской» винде. По этой причине я давно отказался от неплохих, в общем-то, программ — The Bat, Qip, разных русских игр и многих других, о которых уже не помню. (Вполне допускаю и надеюсь, что эти ошибки давно уже исправлены, хотя на свои письма со скриншотами я не получил ни одного ответа)

Заметил ещё, что такой проблемы обычно нет в кроссплатформенных, OpenSource-проектах и продуктах Microsoft.
Я тоже всегда использую английскую «ось». Специально для нас с вами есть третья вкладка в настройках «Языков и региональных стандартов»)
И что там, на этой вкладке? Язык для неюникодных программ, наверное? (Сижу на рабочем компе, у меня там только две вкладки).

Несколько раз сталкивался с тем, что при выставлении этого языка в русский некоторые программы перестают корректно работать. Недавний пример — настройки звука и сообщения о подключении устройств от реалтека (если не ошибаюсь). Они пытаются говорить что-то по-русски, но получаются знаки вопроса. Так что третья вкладка — это тоже не панацея.
Работал не с одним компом с реалтековским звуком под английской ХР, ни разу таких проблем не испытывал. На своем никогда не использую русский интерфейс в программах, если это не родной язык автора)
У меня была виста. Кстати, на этот драйвер было много жалоб от разных людей — он должен был, например, отслеживать подключения устройств к передней панели, но глючил при этом безбожно и не только с языком.

Во, проверил. Это, вроде, не реалтек. Интеграшка в асусе P5K-E, дрова от SoundMAX. Насчет производителя чипа не уверен, но вряд ли это его косяк.

А не-английский я тоже стараюсь не использовать, но, к сожалению, есть еще кривые, но нужные программы, для которых приходится выставлять дефолтный язык (который для не-юникодных прог) в русский. Вот после этого драйвер и глючил.
Интересно. У меня раньше в P5B-Deluxe стояла точно такая же звуковуха и тоже с SoundMAXовскими дровами. Даже микрофон в комплекте по-моему от них был. Но я точно помню, что в контрольной панели стоял английский язык 0_о

А из ансишных утилит я использую только Small CD Writer) Ради него, собственно в основном и включаю русский для неюникодовых программ)
Если в КП стоял английский, то, скорее всего, надписи были правильные. У меня проблемы начинались при включении русского. SoundMAX при этом пытался писать по-русски, но получались знаки вопросов.

У меня из неюникодных прог только AllMyMovies. Ее уже давно ругают за это (да и не только за это), но автору пох. Жаль, что ничего более адекватного не нашел.
Это не решение проблемы, а костыль. К тому же, для меня бесполезный, «шило на мыло» — если я поставлю русский языком по умолчанию в угоду Qip-у или Яндекс-бару, то получу проблемы, к примеру, с установкой и запуском программ в/из меню «Start» в Windows XP и т.п. — плавали, знаем :)
Потому для меня было проще вообще отказаться от неюникодных программ.
За все время пользования ХР ни разу не получал таких проблем с меню пуск 0_о
*я это ни разу не в оправдание ANSI-программ, вы не подумайте, прощения им нет)
«у меня всё работает, что я делаю не так?» :)

В английской Windows XP имена системных папок состоят из ANSI-символов, проблем с ними и не будет, поэтому я тоже предпочёл бы английскую винду, но не пользоваться же пираткой, если на лэптопе уже есть лицензия.
НЛО прилетело и опубликовало эту надпись здесь
да, в досе таких проблем не было. И программы до сих пор отлично читаются на самых больших мониторах! ;)
Проблема в том, что в базовых наборах компонентов для дизайнероов форм ни в Delphi ни в VC нет средств автоматической расстановки компонентов.

Компонент Layout для Delphi в наборе Developer Express только с этого года пригоден для использования, и то требует доточки напильником и многое рисует сам, а не пользуется контролами из WinAPI. (для .net компонент у них несколько старше, но тож не с рождения .net), а других компонентов такого рода я и не видел.

А под юниксы и джаву — подобные компоненты кажись в базовой поставке почти всех оконных библиотек…
У наших тестеров в обязательном чеклисте проверка на 120DPI, минимально допустимое разрешение 1024х768, китайские, японские ОС.
Поставьте моноширинный шрифт в качестве системного(толи в китайском толи японском виндовсе) увидите много удивительного.
я полагаю авторы таких программ настолько идиоты, что не могу нормально сделать скинизацию.
а вообще скинизация — зло. скин может быть только у одной программы в этом мире — winamp.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий