dibr's Journal
[Most Recent Entries]
[Calendar View]
[Friends View]
Sunday, January 16th, 2011
| Time |
Event |
| 2:17p |
робаты продолжают набигать В дополнение к капче, включил опцию "скрывать подозрительные комменты не от френдов". Это не поможет от роботов (им пофиг), но <naive>если все включат эту опцию - возможно, их хозяева рано или поздно поймут, что "это не работает"... </naive> А вообще, учитывая что получается что роботы небезуспешно пробивают капчу - вспоминается вот это. Если кто ещё не читал - можно прочитать, оно небольшое... | | 4:33p |
| | 4:54p |
Внезапные простые решения Когда-то давно, когда по поверхности планеты бегали велосирапторы, а на компьютерах "Ай-Би-эМ Пи-Си" стоял MS-DOS, программисты уже писали программы "с окошками" (и, подозреваю, у каждого компьютерщика тех времён найдётся самописная "оконная библиотечка"). Окошки создавались тривиально - сохранением и последующим восстановлением области экрана под окном, благо в текстовом режиме места она занимает мало. Потом появился графический интерфейс (например в виде Windows), и выяснилось что "картинку под окном" сохранять нельзя, ибо некуда (обычной памяти мало, видеопамяти - очень мало, помню все эти расчёты при покупке видюхи "если поставить 1024х768 то получится всего 256 цветов, а в 800х600 уже можно позволить себе 64k цветов"), и для окошек надо что-то придумать. И придумали, гениально простую вещь - содержимое окна не сохранять вообще, для восстановления - попросить приложение, которому принадлежит окно, "перерисоваться". Кстати, до меня только сейчас дошло, почему в win1.0 были запрещены перекрывающиеся окна: они просто ещё не умели их перерисовывать!
Быстро шли годы, медленнее проходили десятилетия. Типичный объем компьютерной памяти вырос до нескольких гигабайт, видеопамять тоже росла как на дрожжах: меньше полугига сейчас уже наверное и не найти (а в полгига, если что, можно примерно 60 раз целиком уложить экран 1920х1200). Я когда-то удивлялся, зачем видеокарте памяти в разы больше, чем может понадобиться для вывода картинки, потом привык. Параллельно, на деньги любителей 3D игр, производители видюх развивали вроде-бы-больше-никуда-не-нужное 3D (я про него вспоминал разве что глядя очередную киношку "через оверлей", причём вспоминал только когда "оверлей" глючил). Сама операционная система 3D особо не пользовала, а окошки при показе так и перерисовывались приложениями: в XP все признаки перерисовки при переключении (вроде "белых окон", подтормаживания и перерисовки "не всего и не того") были в полный рост.
А потом как-то внезапно до софтописателей дошло. Что сейчас уже можно каждому окну выделить собственную область видеопамяти - пусть себе там рисует по потребности, а когда нужно его показать - достаточно просто сделать эту область видимой средствами видеокарты! И получился интерфейс Windows Aero (впервые появившийся в Vista, если я не путаю - лично с вистой не работал, сразу перешёл на 7). И внезапно оказалось, что если все окошки в готовом виде хранятся в видеопамяти, а видеокарта позволяет с ними произвольно оперировать, многие вещи становятся легче, проще и удобнее. Показ окна становится настолько дешевым действием, что его можно делать по событию вида "навелись мышом куда надо" (убрали мышь - убрали окно), можно дёшево показать "превью" окна (при этом оно будет "живым и шевелящимся", поскольку это и есть настоящее окно, только уменьшенное средствами видеокарты), можно так же дёшево делать всякую мелкую анимацию при исчезновении/появлении, фишки вроде полупрозрачности - и всё это без нагрузки на процессор, ибо всё делается видеокартой в реальном времени. Даже в превьюшках, показываемых в переключалке alt/tab, окна "шевелятся" - и оно и понятно, это ж теперь очень дешевое (по расходу процессора) действие!
А я-то до недавнего времени считал что 3D в видеокартах - "неизбежное зло, и для UI от него пользы никакой". А в win1.0 негров линчевали окна перекрываться не могли. А оно вон какой внезапно прогресс. :-) Кстати, любопытно - как оно сейчас во всяких юниксах типа линукса. С одной стороны - памяти раньше всем не хватало, а значит "во времена оные" как-то извращаться приходилось всем. С другой стороны - если я правильно понимаю идеологию xserver/xclient, просить приложение перерисовываться по каждому чиху может оказаться накладным, перерисовываться желательно xserver'у (но "окно" хранить не в виде дампа, конечно, а более компактно), что резко упрощает идеологически переход к "все окна лежат в реальной видеопамяти". Я лично с линуксом давно дел не имел, поэтому не в курсе. Кто скажет - там уже так же как в Aero? А они это первыми придумали, или микрософт? | | 5:35p |
seven deadly sins, seven ways to win... ...и, раз уж я занялся флудом - про семёрку (в смысле, win7). Вряд ли кому реально интересно (кроме таких же консерваторов как я, до сих пор державшихся за XP, думаю большинство и так уже попробовали), но мало ли, может есть сомневающиеся :-) Я "до последнего" сидел на WinXP - всё-таки, это одна из самых удачных ОС от Microsoft. Но время идёт, адресное пространство подпирает - и пришлось пересаживаться на win7/64 - с опаской: во-первых, "новая ОС", как там с совместимостью и интерфейсом, во-вторых - она же 64 бита, как там с совместимостью?? Оказалось, вполне нормально, боялся я почти зря. Весь нужный мне софт пошёл, в большинстве своём без пинаний ручками. Интерфейс неожиданно легко перетачивается под "та же ХР, но удобней" (вот только "панель быстрого запуска" пришлось создавать чуть ли не вручную). Про Aero и концепцию "все окна рисуются в реальной видеопамяти" я только что писал - она вполне помогает жить :-) Даже пугающие 64 бита оказались вполне к месту: "тяжёлый" софт вполне массово переходит на 64 бита (и ему это реально помогает - тот же ФШ на старом компьютере под моими панорамами почти агонизировал, а тут - работает), 32-битный софт работает без особых проблем. Даже некоторое старое железо удалось завести (не потому что я некрофил, а потому, что... ладно, чёрт с ним - потому что я некрофил, и не смог отказаться от M-Audio Revolution!) В-общем - win7/64 неожиданно ок, переезд прошёл куда глаже чем я ожидал. Жаль, что "панель управления" перепахали так, что она теперь напоминает игру "пещеры и драконы": "вы находитесь в центре пещеры окне настройки свойств сети, слева от вас несколько горящих факелов надписей, сверху - набор артефактов компьютер, садовая скамейка и серый глобус, ваши действия", но немного привыкнув и проложив дорожки - можно добираться куда надо. И отсутствие поддержки DOS тоже жалко (как было жалко выкинутую в XP поддержку OS2/16 - у меня под OS2/16 hiew работал, очень удобно... было). С другой стороны...  Это - DOS/16 программа GWBASIC (1987 года - 23 года прошло, ё!), запущенная в "виртуальной дос-машине NT" (ntvdm), запущенной под WinXP, запущенной под VirtualPC, запущенной под Win7/64, с окошком, "прозрачно" вытащенным на десктоп при помощи "XP mode" Win7 (десктоп "гостевой" системы не показывается, показывается только окно приложения). Это не потому что я гик и извращенец (хотя я такой, да), а потому что GWBASIC оказалось очень удобным использовать вместо калькулятора - вот и использую, через две прослойки виртуализации :-)  А это - (почти) тот самый TRON (вырезано из верхнего скриншота)! И до тех пор, пока хотя бы где-нибудь, пусть в эмуляторе, будет запущено хоть что-то, имеющее команду TRON - тот самый TRON будет жить в своём виртуальном пространстве! Поддержим же TRON'а - пусть он не умрёт никогда :-) "Пользователь? Ты веришь в пользователей?"(с) TRON'82 :-) |
|