Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Грибные блоки - красочная головоломка, в которой вам предстоит передвигать блоки и заполнять ряды, чтобы собирать грибочки в корзину! Попробуйте продержаться как можно дольше!

Грибные блоки

Головоломки, Расслабляющая, Пазлы

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Кпк + Мобильные телефоны

С этим тегом используют

Windows mobile Смартфон Гаджеты Ретро Китай Политика Телефон Android Вертикальное видео Электроника iPhone Все
30 постов сначала свежее
17
silversmart
silversmart
3 месяца назад

Капсула времени Sony Ericsson P910i и размышления на тему ретро смартфонов в 2025 году⁠⁠

Капсула времени Sony Ericsson P910i и размышления на тему ретро смартфонов в 2025 году Мобильные телефоны, Смартфон, Кпк, Коллекционирование, Symbian, Длиннопост

Всем доброго времени суток. Так сложилось что я являюсь фанатом старых платформ мобильных гаджетов, Symbian, WM и т.д.

Очень долго на них сидел, много лет коллекционировал топовые смарты и КПК, причём искал именно коробочные комплекты и в идеале, что бы всё родное и оригинальное. Некоторые аппараты покупал лично новыми в их эпоху и специально откладывал на хранение. Например купил в 2006 году новую Nokia N70 и не пользовался ей. Чисто в коллекцию.

Потому что было чем ещё пользоваться на то время.

Шло время коллекция становилась всё больше и сейчас это около 35 шт самых известных, топовых и знатных аппаратов.

Достал на днях на проветривание своего любимчика SONY Ericsson P910i, батарейку подзарядить, включить, поюзать немного.

Капсула времени Sony Ericsson P910i и размышления на тему ретро смартфонов в 2025 году Мобильные телефоны, Смартфон, Кпк, Коллекционирование, Symbian, Длиннопост
Капсула времени Sony Ericsson P910i и размышления на тему ретро смартфонов в 2025 году Мобильные телефоны, Смартфон, Кпк, Коллекционирование, Symbian, Длиннопост

Но в момент этого самого проветривания я осознал одну вещь. Несмотря на всю фанатичную страсть и коллекционирование, аппарат безбожно устарел до уровня орехокола.

Накатили мысли а зачем мне всё это нужно и ради чего? Предметы коллекционирования но какой с них толк? То есть появились размышления на тему ретро смартфов и КПК.

SONY Ericsson P910i да это знатный смартфон 2004 года, которые в те годы давал пользователю огромные возможности. Но что он может сейчас? Если честно даже в смысле немного поностальгировать всё сводится к тому что можно куда то позвонить, принять звонок или посмотреть время.

То есть 99,9% возможностей данного смарта навсегда ушли в историю. А если представить что сеть 2G перестанет работать то его вообще даже не запустить, без сим карточки данная модель не загружается(

Другое дело те же КПК на WM.

Капсула времени Sony Ericsson P910i и размышления на тему ретро смартфонов в 2025 году Мобильные телефоны, Смартфон, Кпк, Коллекционирование, Symbian, Длиннопост

Данный КПК 4700 можно хотя бы автономно запустить и что то поюзать, хотя бы в рамках ностальгии. Например благодаря довольно большому и неплохому VGA экрану можно даже книжку почитать или поиграть в интересные игры для WM. Я проверял они запускаются и работают. То есть хоть как то устройство можно использовать, утолить ностальгию и убрать на полку.

В итоге я как то для себя понял что половина коллекциии гаджетов начала 2000-х годов где то 2003-2005 реально уже существуют просто как символы прошлой эпохи. То есть их нельзя вообще рассматривать как гаджеты по назначению, они не могут в 2025 году ничего, в лучшем случае это звонки в сети 2G и смс сообщения.

Просто интересно есть ли у кого то такие же смарты и КПК той поры, как вы с ними поступили, лежат на полках, избавились от них или что то ещё? Мне просто интересно с позиции наших дней в 2025 году.

Какой смысл в наши дни иметь такие девайсы на полке? Может они там уже лишние? Если как гаджеты они уже не могут работать по прямому назначению?

Показать полностью 4
[моё] Мобильные телефоны Смартфон Кпк Коллекционирование Symbian Длиннопост
11
45
quadzilla2000
quadzilla2000
5 месяцев назад
TECHNO BROTHER

Ретро-поисковик FrogFind! настолько крут, что позволяет использовать интернет на Nokia 9110 (1998)⁠⁠

Ретро-поисковик FrogFind! настолько крут, что позволяет использовать интернет на Nokia 9110 (1998) Ретро, Кпк, Мобильные телефоны, Поисковик, Олдскул, Винтаж, Длиннопост
Ретро-поисковик FrogFind! настолько крут, что позволяет использовать интернет на Nokia 9110 (1998) Ретро, Кпк, Мобильные телефоны, Поисковик, Олдскул, Винтаж, Длиннопост
Ретро-поисковик FrogFind! настолько крут, что позволяет использовать интернет на Nokia 9110 (1998) Ретро, Кпк, Мобильные телефоны, Поисковик, Олдскул, Винтаж, Длиннопост
Ретро-поисковик FrogFind! настолько крут, что позволяет использовать интернет на Nokia 9110 (1998) Ретро, Кпк, Мобильные телефоны, Поисковик, Олдскул, Винтаж, Длиннопост

Как работает FrogFind?

Функция поиска FrogFind - это, по сути, пользовательская оболочка для поиска DuckDuckGo, преобразующая результаты в чрезвычайно простой HTML, который могут читать старые браузеры.При переходе на страницы из результатов поиска эти страницы обрабатываются через PHP-порт для удобства чтения в Mozilla, который обеспечивает режим чтения в Firefox. Затем результат ещё больше оптимизируется, чтобы быть как можно более простым в формате HTML.

На каких машинах работает FrogFind?

FrogFind разрабатывался с учётом классических компьютеров Mac и работает даже на SE/30, он хорошо выглядит в 1-битном цвете с разрешением 512x384. Большая часть тестов проводилась на Netscape 1.1N и 2.0.2, а также на нескольких версиях iCab для компьютеров Mac с разрешением 68k. FrogFind также должен отлично работать в любом текстовом веб-браузере!

Показать полностью 4
Ретро Кпк Мобильные телефоны Поисковик Олдскул Винтаж Длиннопост
9
308
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER
7 месяцев назад

Как я на легендарном КПК память паяльником увеличивал⁠⁠

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

Любимчик

Название статьи вдохновлено недавним материалом Сергея Долина об улучшении ретро-компьютера, что называется, паяльником. Недавно мне поступил заказ от читателя на апгрейд ОЗУ в легендарном карманном компьютере Dell Axim X51v, за выполнение которого я получу крутейший ноутбук 1998 года. Конечно же я не смог отказаться от такого предложения и подготовил для вас подробную статью с предысторией апгрейда памяти на КПК, описанием процесса снятия и у

становки BGA-чипов, замене концевого переключателя на перемычку, а также ремонта рычажка Hold, из-за которого некоторые Axim'ы теряли работоспособность при общей исправности железа девайса. Жду вас под катом!

❯ Введение

Апгрейд девайсов своими руками — это всегда круто и интересно. Недавно хабровчанин @dliny jвыпустил две отличные статьи об апгрейде 386'ой материнки с установкой 486'ого процессора на неиспользуемую площадку для заводского апгрейда материнской платы и даже заставил работать всю систему относительно стабильно!

Однако апгрейд мобильных компьютеров тема немного иная, поскольку из-за повсеместного использования BGA-чипов и относительно тесной компоновке, далеко не каждый гик берется за аппаратный апгрейд своего девайса, боясь его случайно повредить. Цель этой статьи наглядно показать, что перепаивание чипов памяти и апгрейд ретро-КПК — не сложнее, чем заменить плашку памяти в стареньком ноутбуке и с этим справится любой человек при наличии паяльной станции и небольшой практики!

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

Сегодняшним героем у нас выступит легендарный КПК Dell Axim X51v, с которым наверняка знакомы многие мои читатели. Девайс, вышедший в 2005 году, привлекал очень шустрым чипсетом Intel PXA270, работающим на частоте 624МГц, наличием дискретного GPU Intel 2700G в отдельном чипе (!) с графическим ядром PowerVR MBX и набором видеодекодеров Intel для просмотра несжатого видео, а также... всего 64Мб ОЗУ! Многие владельцы устройства жаловались на малый объём памяти, но со временем некоторые сервисные центры (один из самых известных в свое время — pdacenter) даже приловчились оказывать услугу по её апгрейду в коммуникаторах и КПК до тех самых 128Мб!

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

Полгода назад я уже писал статью об апгрейде легендарного коммуникатора HTC Magician (который, к слову, участвовал ещё в моих статьях о написании 3D-игры под Windows Mobile с нуля!). После этой статьи ко мне несколько раз обращались люди с просьбой проапгрейдить им девайсы за деньги, даже при условии того что они сами закажут чипы памяти. Обычно я не берусь за заказы, поскольку это всё равно довольно рискованный процес (на некоторых девайсах нужно искать страп для активации всей ОЗУ), но в этот раз меня переубедили очень весомым аргументом. Когда я отказался от работы за деньги, мне предложили тяжелую артиллерию, а именно — топовый ноутбук Compaq Armada 7800 на Pentium II с дискретным GPU S3 ViRGE (о котором я тоже писал статью)!!! Тут я просто не смог не согласится: ноутбук из 90-х, да еще и с 3D-видеочипом, который стоил 5.000$ и который можно считать игровым? Я решил рискнуть...

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

В свое время эта процедура стоила около 2-3 тысяч рублей. В 2005-2007 году это были большие деньги, а сейчас апгрейд КПК можно провести за 400 рублей: чипы памяти продаются и сейчас и стоят по 200 рублей за штучку. Давайте же попробуем проапгрейдить наш девайс!

❯ Апгрейдим

Начинаем с разборки устройства. Сделать это несложно: откручиваем 4 винта с обратной стороны устройства и пластиковой картой (или ногтями) поддеваем фронтальную часть корпуса. Затем выдавливаем плату с дисплеем из задней части корпуса, снимаем дисплейный модуль и перед нами оказывается разобранный девайс:

Необходимые нам чипы памяти находятся под защитным экраном вместе с процессором и флэш-памятью. Сам металлический экран съёмный, однако перекладина под ним помешает установке чипов памяти: поэтому аккуратно срезаем её хирургическими ножницами. Полностью выпаивать защитный экран не нужно.

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

Я срезал перекладину ещё до фото :)

Теперь нам необходимо выпаять старые чипы памяти. Для этого наливаем немного флюса под «пузо» чипов, включаем фен на ~330 попугаев (у меня бюджетный фен, который я ещё не откалибровал — так что термопрофиль сомнительный), и принимаемся греть банки на протяжении около полутора минут. Текстолит хоть и толстый, но теплоемкость не очень высокая, так что банки можно снять и без нижнего подогрева. Как только чип стал свободно покачиваться — ждём ещё немного времени и снимаем его пинцетом. Учтите что BGA-чипы крепятся за счёт поверхностного натяжения, поэтому старый чип будет пытаться "уехать" на своё место обратно при попытке снятия, так что придется приложить небольшое усилие, однако очень важно догреть чип, иначе можно посрывать пятаки и потом под микроскопом лепить «улитки» :)

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

Не забудьте сделать фотографию обвязки (мелочухи), дабы иметь возможность её восстановить если случайно посдуваете.

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

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

Новые чипы с завода уже имеют накатанные шары и их можно ставить «как есть», хотя некоторые мастера всё равно перекатывают чипы, поскольку на шарах могут образоваться окислы. Процесс установки новых чипов до безобразия прост: наливаем немного флюса на посадочную площадку, примерно центруем банку памяти на этой самой площадке и греем её феном на протяжении всё тех же полутора минут. При этом чип сам встанет куда нужно благодаря поверхностному натяжению, хотя его можно чуточку подровнять пинцетом, если стоит криво. Обратите внимание на флюс: если налить его слишком много, то чип может «уехать», если флюс кипящий, то чип будет «прыгать» при установке и соединение может оказаться некачественным. Я лично ставлю BGA «бодягой» под видом NC559 с Озона, вроде норм.

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

Установленные чипы памяти. В процессе работы пришлось один чип перекатать — случайно поставил не по ключу :)

Наконец-то чипы памяти установлены. Теперь смываем флюс с помощью FluxOff'а, устанавливаем обратно защитный экран и подсобираем девайс, дабы посмотреть что у нас получилось. И да, КПК запустился нормально и увидел все 128 мегабайт оперативной памяти! В случае с коммуникатором HTC, о котором я писал в первой статье, необходимо было установить ещё специальный страп — резистор 0.33Ом на линию CS1, иначе девайс не видел всей ОЗУ, так что если кто-то будет проделывать такой же апгрейд, имейте это ввиду.

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

Но это ещё не всё! Я ж обещал, что апгрейдить девайс будем и паяльником :) У многих КПК есть болячка в виде концевого выключателя на крышке отсека аккумулятора. К сожалению, со временем он ломается, а в случае X51v — ещё и служит кнопкой включения для устройства, поэтому его необходимо поменять на перемычку. Мой подписчик уже заменил концевой выключатель на соплю припоя, которую я заменил на более симпатичную и надежную перемычку:

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

А также перемычку имеет смысл установить вместо переключателя Hold — конкретно на Axim X51v он иногда выходит из строя, из-за чего девайсом становится невозможно пользоватся.

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

На этом наш апгрейд завершён. Собираем девайс и смотрим, что же он умеет!

❯ Смотрим на девайс

Windows Mobile славилась своей оптимизацией, система очень бодро бегала даже на 32Мб ОЗУ. Большинство приложений легко помещалось в памяти благодаря тому, что потребляли пару сотен или десятков килобайт, и в отличии от современных мобильных систем, WinMobile никогда не управляла жизненным циклом приложения сама, поэтому в системе была настоящая многозадачность. Приложения закрывались только тогда, когда этого захотел пользователь, благодаря чему была необходимость иногда следить за диспетчером задач.

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

Но если 64Мб было достаточно для всего, то зачем нужен был апгрейд до 128Мб? Все дело, конечно же, в играх! Зачастую владельцам КПК хотелось запустить несколько тяжелых приложений и иметь возможность одновременно играть музыку в фоне, сидеть в аське и играть в Pocket F.A.L.L.O.U.T. Тут и пригождался апгрейд по памяти, ведь игра влегкую могла скушать и 20 и 30 мегабайт!

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

Особенно это актуально в случае с Axim X51v, ведь у устройства был дискретный GPU, для которого отдельно разрабатывались 3D-игры, которые по уровню графики были не хуже чем у SEGA Dreamcast! А секрет прост, ведь PowerVR MBX, который используется в качестве GPU в Intel 2700G — это прямой потомок GPU из Dreamcast!

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

Графика не сильно хуже PSP!

Кроме того, в Axim X51v использовался здоровенный дисплей с разрешением VGA (640x480), из-за чего девайс потреблял несколько больше ОЗУ на графические ресурсы системы. На таком смотреть кино или сериал одно удовольствие!

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

Ну и в целом девайс работал значительно резвее с 128 мегабайтами оперативной памяти. А для чего я использую свой личный Axim X51v? Конечно же для разработки 3D-игры под его GPU с нуля! Именно за это я просто обожаю этот девайс!

❯ Заключение

Вот такой ретро-материал об апгрейде крутейшего КПК 2005 года у нас с вами сегодня получился. Надеюсь, вам было интересно! Моддинг ретро-девайсов это всегда занимательно и интересно не только из-за самого факта апгрейда, но и из-за некоторой неизведанности: как @dlinyjне знал, что будет, если впаять в материнскую плату второй процессор, так и я не знал, что будет, если установить банки памяти без поиска страпов на неизвестный мне КПК :)

Подписывайтесь на мой Telegram-канал, если вам интересна тематика программирования, моддинга и подручного ремонта различных девайсов, а если вам интересны мои видео о ретро-девайсах, то подписывайтесь на мой YouTube и паблик ВК.

Значит ли для вас что-то Axim X51v?
Всего голосов:
Понравился материал с апгрейдом «паяльником»?
Всего голосов:

Кстати, если у кого-то из читателей есть ненужные устройства (в том числе с косяками) или дешевые китайские подделки на айфоны/айпады/макбуки и другие брендовые девайсы будучи нерабочими, тормозящими, или окирпиченными и вам не хотелось бы выкидывать их на свалку, а наоборот, отдать их в хорошие руки и увидеть про них статью — пишите мне в Telegram или в комментах! Готов в том числе и купить их. Особенно ищу донора дисплея на китайскую реплику iPhone 11 Pro Max: мой ударник, контроллер дисплея калится и изображения нет :( Было бы интересно поколупать и КПК самого начала нулевых годов (PPC2002, а то и WinCE или PalmOS) — пишите, если таковые есть.

Как я на легендарном КПК память паяльником увеличивал Опрос, Смартфон, Гаджеты, Windows, Windows Mobile, Кпк, Dell, Апгрейд, Ремонт, Оперативная память, Память, Bga, Научпоп, Обучение, Мобильные телефоны, Длиннопост

Примеры девайсов

А ещё я держу все свои мобилы в одной корзине при себе (в смысле, все проекты у одного облачного провайдера) — Timeweb. Потому нагло рекомендую то, чем пользуюсь сам — вэлкам:

Показать полностью 16 2
[моё] Опрос Смартфон Гаджеты Windows Windows Mobile Кпк Dell Апгрейд Ремонт Оперативная память Память Bga Научпоп Обучение Мобильные телефоны Длиннопост
63
21
Timbus
10 месяцев назад
IT минувших дней

Ответ на пост «Поучительная история технической одиссеи компании Palm, Inc»⁠⁠1

Успел в студенческие годы этак в 2004 г попользоваться Palm tungsten что ли, в те годы этот была просто пушка. На фоне тогдашних телефонов с полифонией экран с весьма приличным разрешением и возможность пользовать функциональные приложения и играть в Worms например была чем-то удивительным. Тогдашний стационарный комп иметь на борту то ли 266, толи 333 МГц и 32 мб оперативки, а это американское чудо располагало немыслимыми 400 МГц и 52 что ли мб оперативки. По общим показателям для эпохи дискет это был суперсовременный гаджет, стильный и крутой. К сожалению, жизнь его тогда была недолгой у меня и он был украден вместе с сумкой... Взамен после летних усиленных подработок был куплен Dell Axim X51v с ещё более лучшим экраном и камнем, с человечьей виндой, вай-фаем и так оно далее,но внешне он был весьма унылым и походил скорее на первые тогдашние страшненькие смартфоны. Тоже принёс много пользы, в основном как электронный словарь, и поныне лежит в ящике стола, достаëтся раз в год для ностальгирования. Всё работает и даже немного держит батарея

Познавательно Гаджеты Техника Timeweb Кпк Palm Os iPhone Blackberry Android Смартфон Mp3 Мобильные телефоны Изобретения Длиннопост Ответ на пост Текст
8
270
Timeweb.Cloud
Timeweb.Cloud
1 год назад
IT минувших дней

Поучительная история технической одиссеи компании Palm, Inc⁠⁠1

Автор текста: TilekSamiev

Поучительная история технической одиссеи компании Palm, Inc Познавательно, Гаджеты, Техника, Timeweb, Кпк, Palm Os, iPhone, Blackberry, Android, Смартфон, Mp3, Мобильные телефоны, Изобретения, Длиннопост

Сегодня смартфон как технология практически уничтожил целые классы гаджетов: от «мыльниц» до MP3-плееров, GPS-карт и даже фонариков. Но, возможно, ни один вид гаджетов от этого не пострадал настолько, как карманный персональный компьютер, который доминировал в конце 90-х и начале 2000-х годов. КПК в свое время задавал тренд, перейдя от простого управления личной информацией к играм, обмену сообщениями, музыке и фотографиям, пока его не сделало устаревшим появление смартфона.

Как и смартфоны, КПК предлагали набор приложений, многие из которых работали под управлением Palm OS. В 2000 году компания Palm стоила больше, чем Apple, Amazon, Google и Nvidia вместе взятые. Было продано более 30 миллионов единиц серии PalmPilot, а рыночная капитализация компании взлетела до 58 миллиардов долларов. Казалось, Palm готова возглавить мобильную революцию.

Проследить историю компании Palm с её перипетиями сложно даже по стандартам Кремниевой долины. Она была образована в 80-е годы как небольшая фирма в индустрии портативных компьютеров, но была приобретена другой крупной компанией, которая затем продала себя. После этого Palm была разделена на две части, обе части вышли на биржу, затем воссоединились и Palm снова распродалась. По пути организация потеряла свою первоначальную команду, но затем вернула только для того, чтобы снова попрощаться с ней. А потом Palm фактически прекратила свое существование в 2018 году, когда её ненадолго возродили.

Но где именно компания оступилась?

❯ Начало чего-то маленького


В 80-е годы учёные-компьютерщики начали задумываться о том, как будут выглядеть мобильные вычислительные технологии. Тогда были Psion и HP Jaguar, работавшие под DOS, но они больше были мини-ноутбуками с крошечными клавиатурами. В то время портативные компьютеры в первую очередь означали либо тяжёлые переносные рабочие станции, либо уникальный класс карманных компьютеров с небольшими экранами, памятью и клавиатурой, похожих на калькуляторы.

Поучительная история технической одиссеи компании Palm, Inc Познавательно, Гаджеты, Техника, Timeweb, Кпк, Palm Os, iPhone, Blackberry, Android, Смартфон, Mp3, Мобильные телефоны, Изобретения, Длиннопост

Psion

На такие устройства был большой спрос со стороны корпоративных и государственных заказчиков, которым требовался доступ к базам данных на ходу. Для того времени ноутбук был слишком громоздким, чтобы использовать его на открытом воздухе, вдали от офиса или дома.

Джефф Хокинс, идейный вдохновитель компании GRiD Systems, основанной в 1979 году, был пионером концепции портативных ноутбуков и сред объектно-ориентированного программирования. Хокинс разработал теории о том, как мозг распознает текст. Он развил эти идеи в своем первом перьевом компьютере PalmPrint. В то время распознавание рукописного ввода было ещё более сложной задачей, но система PalmPrint Хокинса упростила задачу, просто сопоставляя каракули с символами, вместо того, чтобы пытаться распознать целые слова.

PalmPrint затем стал GridPen, ядром GriDPad 1900 1989 года, первым коммерчески успешным планшетным компьютером. Используя резистивный 10-дюймовый чёрно-белый ЖК-дисплей в качестве экрана и поверхности для письма, он работал под управлением MS-DOS на маломощном процессоре Intel 80C86 с тактовой частотой 10 МГц и весил около двух килограммов (4,5 фунта), продаваясь по рекомендуемой розничной цене 2500 долларов.

Поучительная история технической одиссеи компании Palm, Inc Познавательно, Гаджеты, Техника, Timeweb, Кпк, Palm Os, iPhone, Blackberry, Android, Смартфон, Mp3, Мобильные телефоны, Изобретения, Длиннопост

GridPad

GRiD быстро стал лидером рынка планшетных устройств, отчасти благодаря PalmPrint, а отчасти благодаря простой в использовании среде разработки. Но Хокинс считал, что он мог бы добиться большего. Он хотел создать систему, в которой сам экран станет устройством ввода, заменив клавиатуру ручками и стилусами. При этом Хокинс считал своё собственное творение слишком громоздким и дорогим. Опрос существующих корпоративных клиентов GriDPad о портативном компьютере, который они бы использовали лично, дал единодушный результат: устройство должно быть намного легче, меньше и быстрее.

Хокинс задумал создать персонального цифрового помощника и в 1992 году основал компанию Palm Computing. Он со своими коллегами Эдом Коллиганом и Донной Дубински приступили к работе над новым программным обеспечением для распознавания символов. В 1995 году Palm Computing была близка к выпуску революционного устройства. У них было около 3 миллионов долларов для релиза. Они создали устройство с меньшим количеством кнопок и с бо́льшим размером экрана, чем у других устройств. Лучшая технология рукописного ввода на рынке была в их распоряжении. Но во время исследований и разработок у компании закончились деньги, из-за чего они не смогли вывести устройство на рынок. Но создатели знали, что попали в цель.

Хотя внешний интерфейс Palm OS 1.0 представлял собой новый и уникальный интерфейс, лежащая в её основе операционная система изначально была готовой. В 1978 году канадская инжиниринговая компания KADAK разработала ядро операционной системы реального времени для мини-компьютеров, управляющих нефте- и газопроводами. К началу 1980-х годов её операционная система реального времени под названием AMX стала кроссплатформенной и вышла на новые рынки.

Поучительная история технической одиссеи компании Palm, Inc Познавательно, Гаджеты, Техника, Timeweb, Кпк, Palm Os, iPhone, Blackberry, Android, Смартфон, Mp3, Мобильные телефоны, Изобретения, Длиннопост

Промышленность тогда уже планировала создание вычислительного устройства с перьевым вводом. Компания US Robotics выкупила Palm Computing за 44 миллиона долларов, а затем они объединились с ещё одной компанией, 3Com, созданной Бобом Меткалфом, который был разработчиком Ethernet. Компания US Robotics рассчитывала на то, что Ethernet станет следующим хитом. И они были правы. Они также сделали ставку на устройства с перьевым вводом. И снова оказались правы!

В 1996 году компания US Robotics выпустила Palm Pilot 1000 со 128 КБ ОЗУ и Palm Pilot 5000 с 518 КБ ОЗУ. Это были первые устройства, которые действительно достигли цели. Люди стали одержимы ими. Их можно было подключать к компьютеру для синхронизации заметок, контактов и календарей. Сейчас это кажется такой мелочью, но тогда это было революционно. Устройства имели мгновенный успех. Все, кто занимался компьютерными технологиями, поняли, что грядёт новый технологический бум. Чуть позже HP, Sony, Ericsson, Sharp, NEC, Casio, Compaq и Philips станут выпускать карманные компьютеры. Но Palm был самым главным разработчиком.

❯ Американские горки десятилетия


В 1998 году трое основателей Palm Computing создали новую компанию по производству аналогичного устройства под названием Handspring, которое было очень похоже на устройства Palm. А Palm Computing превратился в Palm, Inc.

Поучительная история технической одиссеи компании Palm, Inc Познавательно, Гаджеты, Техника, Timeweb, Кпк, Palm Os, iPhone, Blackberry, Android, Смартфон, Mp3, Мобильные телефоны, Изобретения, Длиннопост

Хокинс, Кллиган и Дубински

К концу 1998 года 3500 программистов создавали приложения для Palm OS. Спрос на продукцию Palm продолжал расти, и они начали внедряться в ряде новых отраслей, таких как финансовый сектор и сектор здравоохранения. Однако Microsoft, выпустившая годом ранее свою платформу Windows CE для мобильных компьютеров, активизировала борьбу. Устройства под управлением Windows CE были доступны от ряда производителей, таких как Casio Computer Co., Hewlett-Packard Co. и Compaq Computer Corp.

Несмотря на присутствие Microsoft на рынке, Palm продолжала преуспевать, в 1999 году выпустив новые продукты, такие как Palm IIIx, Palm V, Palm VII, Palm IIIe, Palm Vx и Palm IIIe Special Edition. Palm VII был примечателен тем, что позволял пользователям подключаться к Интернету по беспроводной сети через службу Palm.net.

Поучительная история технической одиссеи компании Palm, Inc Познавательно, Гаджеты, Техника, Timeweb, Кпк, Palm Os, iPhone, Blackberry, Android, Смартфон, Mp3, Мобильные телефоны, Изобретения, Длиннопост

В 2000 году доходы компании Palm, Inc. достигли примерно 1,1 миллиарда долларов. Они вышли из 3Com и провели IPO в марте 2000 года, став независимой компанией, акции которой стали котироваться на фондовой бирже NASDAQ.

К концу 2001 года число разработчиков Palm OS достигло 140 000, что принесло доход в 1,6 миллиарда долларов. Компания имела глобальный охват, продавая продукцию более чем в 35 странах. Согласно анализу рынка и прогнозу International Data Corp, проведённому в июле 2001 года, Palm контролировала 55,9% мирового рынка КПК. Её доля на мировом рынке портативных операционных систем составила 71,8%.

Компания Handspring выпустила Treo в 2002 году. Treo был, по сути, смартфоном. Он мог отправлять электронную почту, SMS, голосовые вызовы. Со временем в него добавили камеру, GPS, MP3 и Wi-Fi. К середине 2000-х годов выручка Handspring и цена акций резко упали.

В июне 2003 года Palm, Inc. объявила о покупке конкурирующей компании Handspring в рамках обмена акциями (на сумму 240 миллионов долларов на момент закрытия сделки в октябре). В октябре 2003 года Palm, Inc. выделила PalmSource, своё подразделение программного обеспечения, а первоначальная компания, сохранившая за собой операции с оборудованием, была переименована в PalmOne, Inc.

PalmOne лидировала на традиционном рынке КПК с долей 40%, в то время как Handspring стала нишевым игроком на развивающемся рынке «смартфонов». PalmOne была снова переименована в Palm, Inc. в июле 2005 года после того, как приобрела оставшиеся права на использование названия Palm за 30 миллионов долларов.

Весной 2005 года компания Palm представила линейку Life Drive с четырех-гигабайтными жёсткими дисками. Это была первая попытка компании создать более крупную и всеобъёмлющую систему управления мобильными устройствами, отвечающую всем пользовательским требованиям. Если говорить об этом сейчас, с его контактами, календарем, музыкой, изображениями, видео, приложениями, 4 ГБ жесткого диска Microdrive, Bluetooth и Wi-Fi, а также всем программным обеспечением из Palm OS, это не слишком отличается от современного смартфона. У него даже мог экран переключаться между портретным и альбомным режимами. Проблема заключалась в том, что всё это делало его очень большим и дорогим по тем временам устройством. Производство прекратилось менее чем через два года после начала цикла, незадолго до того, как другим пришла в голову аналогичная, но более совершенная идея.

В сентябре компания анонсировала новую линейку устройств Treo (ранее разработанных Handspring и предлагаемых под брендом PalmOne) с операционной системой Microsoft, чтобы помочь предотвратить конкуренцию со стороны Blackberry. К сожалению, как и Life Drive, этот продукт был снят с производства всего за четыре года. Та же участь постигла первые и единственные ноутбуки Palm: Foleo, Centro, Pre и Pixi.

Теперь, когда все части компании снова собрались вместе, они начали планировать новую ОС, о которой объявили в 2009 году. webOS должна была стать огромной. И они анонсировали Palm Pre, следующий смартфон-убийцу.

Единственная проблема заключалась в том, что iPhone появился в 2007 году. А Android был выпущен в 2008 году. У Palm была правильная идея, но они опоздали и проиграли технологическую гонку Apple и Google.

❯ Последний звонок


Когда начали появляться смартфоны с сенсорными экранами и доступом в Интернет, Palm изо всех сил старалась не отставать. Но зависимость компании от физических кнопок и её медлительность в освоении новых технологий привели к сокращению доли рынка.

Поучительная история технической одиссеи компании Palm, Inc Познавательно, Гаджеты, Техника, Timeweb, Кпк, Palm Os, iPhone, Blackberry, Android, Смартфон, Mp3, Мобильные телефоны, Изобретения, Длиннопост

В 2009 году Palm была приобретена Hewlett-Packard за 1,2 миллиарда долларов. Под брендом HP компания прекращает выпуск Palm. Компьютерный гигант заявил, что намерен выпускать телефоны, планшеты, ПК и другие продукты на базе WebOS. Попытки HP возродить бренд Palm не увенчались успехом, и в 2010 году компания Palm закрылась.

Под новым руководством организация снова была разделена на части: WebOS так и не стала популярной, PRe 3 так и не вышла в продажу, а сенсорные панели фактически не принесли никакой пользы, что в конечном итоге закончилось увольнением генерального директора HP. Исходный код WebOS стал открытым, а оставшиеся активы были проданы LG Electronics для использования в телевизорах Smart TV.

В 2018 году новый стартап, поддерживаемый TCL, купил бренд Palm для крошечного устройства на базе Android, предназначенного для использования во время тренировок. И это был последний раз, когда мы слышали об этом бренде.

Сегодняшний неуклюжий корпоративный труп Palm продает даже не смартфоны, а только наушники и небольшое «дополнительное устройство» на базе Android. Точно так же, как Интернет убил DVD и другие видеоносители, смартфон убил КПК и множество интересных гаджетов вместе с ним, а также саму душу компании, которая, возможно, сделала больше всех для продвижения портативных компьютеров. И какое бы устройство ни заменило смартфон в будущем, это навряд ли будет КПК.

По иронии судьбы, крупнейший конкурент Palm, BlackBerry, пошел по той же нисходящей спирали. Компания начала рушиться в 2013 году из-за 40-процентного падения продаж, в результате чего её акции упали почти на 17%. BlackBerry уволила 4500 сотрудников и зафиксировала списание запасов почти на 960 миллионов долларов за второй финансовый квартал того же года. Однако, в отличие от Palm, у них не было никаких шансов на финальный рывок. 4 января 2022 года некогда знаменитая служба обмена сообщениями BlackBerry полностью прекратила свое существование.

❯ Ценный урок


Любой портативный компьютер должен иметь явные преимущества перед бумажными ежедневниками. Пользовательский интерфейс должен быть безупречным. Если пользователю приходилось перемещаться по нескольким диалоговым окнам, покупка КПК не стоила своих денег. Простым критерием эффективности или неэффективности является подсчёт количества нажатий кнопок для создания встречи или добавления записи в адресную книгу. Для этого требуется, чтобы все наиболее часто используемые функции были легко доступны, а не были скрыты за меню или диалоговыми окнами. Эта концепция простоты использования ускользнула от многих ранних КПК.

Palm стала пионером на рынке КПК, но не смогла адаптироваться к новым технологиям, таким как сенсорные экраны и доступ в Интернет, что привело к её падению. История Palm — это мощный урок для представителей технологической отрасли. Важно не только выдвигать революционные идеи, но и эволюционно развиваться. В мире технологий вы хороши настолько, насколько хорошо ваше последнее обновление.

Соучредитель Palm Донна Дубински однажды пошутила в 2000 году: «Через пять лет Apple будет продавать только фрукты». Это оказалось совершенно неточным, поскольку через 7 лет Apple представила iPhone, который произвел революцию в мобильной индустрии.

Поучительная история технической одиссеи компании Palm, Inc Познавательно, Гаджеты, Техника, Timeweb, Кпк, Palm Os, iPhone, Blackberry, Android, Смартфон, Mp3, Мобильные телефоны, Изобретения, Длиннопост

Пальма vs Яблоко

Крах компании Palm и взлёт Apple с iPhone действительно очень поучительны. Nokia в свое время тоже разработала аналогичные продукты. Но то, что сделал Стив Джобс, было исключительным, потому что он установил очень высокую планку для своей внутренней команды для чтого, чтобы сделать лучший пользовательский интерфейс. На это ушло более 5 лет.

Во-первых, все началось с простого требования: никакой клавиатуры и стилуса. Это вывело разработку сенсорного интерфейса на уровень, который никто не считал возможным. Это превратило всё устройство в экран. Никто не думал, что это убьёт клавиатуру Blackberry.

Во-вторых, компания использовала iPod и музыкальный магазин. Больше никто не мог вести переговоры с музыкальными лейблами и изменить порядок отбора и продажи музыки.

В-третьих, Стиву Джобсу потребовалось изменить каналы распространения сотовых телефонов, убедив AT&T изменить то, как пользователи будут покупать услуги сотовой связи.

В-четвертых, магазин приложений Apple создал мощный сетевой эффект разработчиков Apple, повышающий ценность устройства и одновременно позволяющий конечным пользователям настраивать свои iPhone.

В истории Palm каждое деловое решение, принятое после первого крупного успеха, было слишком незначительным и слишком запоздалым. Они заключили с Sprint эксклюзивную сделку на продажу Pre и Pixi и продолжили её, когда продаж не было. Palm не разрешал разработчикам создавать приложения для WebOS или эквиваленты iPod touch. Palm никогда не продвигала Pre таким образом, чтобы это имело значение, в то время как устройства iPhone, BlackBerry и Android рекламировалась из каждого утюга. Судя по тому, как обстояли дела, даже их инвесторы начали публично громить компанию.

Поучительная история технической одиссеи компании Palm, Inc Познавательно, Гаджеты, Техника, Timeweb, Кпк, Palm Os, iPhone, Blackberry, Android, Смартфон, Mp3, Мобильные телефоны, Изобретения, Длиннопост

Palm Pilot был первым успешным портативным устройством. Это дало многим возможность подумать о большем. iPod появился в 2001 году в океане портативных MP3-устройств. И со временем он приобретёт некоторые черты Palm.

Основатели Palm изобрели то, что людям действительно понравилось. На некоторое время. И у них было правильное видение новаторской вещи. Они просто не смогли идти в ногу с ростом популярности iPhone и Android, которым сейчас принадлежит практически весь рынок.

Эта история не только о рисках недооценки конкуренции; это более широкий урок о важности адаптивности в секторе, где сегодняшний пионер может быстро стать поучительной историей завтрашнего дня.

Поучительная история технической одиссеи компании Palm, Inc Познавательно, Гаджеты, Техника, Timeweb, Кпк, Palm Os, iPhone, Blackberry, Android, Смартфон, Mp3, Мобильные телефоны, Изобретения, Длиннопост

Написано специально для Timeweb Cloud и читателей Пикабу. Больше интересных статей в нашем блоге на Хабре и телеграм-канале.

Облачные сервисы Timeweb Cloud — это реферальная ссылка, которая может помочь поддержать авторские проекты.

Показать полностью 9
[моё] Познавательно Гаджеты Техника Timeweb Кпк Palm Os iPhone Blackberry Android Смартфон Mp3 Мобильные телефоны Изобретения Длиннопост
32
76
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER
1 год назад

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1⁠⁠

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

Пожалуй, многие из вас помнят, какими были мобильные игры до и после выхода первого iPhone. В начале 2000-х годов, ещё до появления яблочного смартфона, игры для телефонов в основном были весьма интересными, но тем не менее, достаточно простенькими с точки зрения графики и реализации в целом. После запуска AppStore в 2008 году, на iPhone начали выходить самые разные красочные, невиданные раннее по уровню детализации и проработке 2D и 3D игры. Но появление таких игр — отнюдь не заслуга Apple, а относительной малоизвестной компании PowerVR (подразделение Imagination Tech), которая смогла разработать на базе видеочипа Dreamcast и внедрить один из первых действительно массовых мобильных 3D-ускорителей, имя которому — PowerVR MBX! Сейчас мы с вами привыкли, что почти любой дешевый смартфон может отрисовывать графику уровня PS3 в 1080p, а то и выше, но когда-то даже уровень PS2 был роскошью… Сегодня мы с вами: узнаем предысторию появления аппаратно-ускоренной 3D-графики на телефонах, рассмотрим такую фирменную фишку PowerVR, как тайловый рендеринг, а в практической части статьи нам поможет легендарный КПК Dell Axim X51v с MBX на борту, под который мы напишем 3D-игру «про жигули» с нуля! Интересно? Тогда добро пожаловать под кат!

❯ Мобильная 3D-графика. Начало


Пожалуй, 3D-графика на мобильных устройствах начала развиваться ещё с самого начала 2000-х годов. К тому моменту, как мобильные телефоны научились запускать сторонние Java-приложения, практически сразу же появился прибыльный рынок мобильных игр. Ещё до появления поддержки jar-приложений, люди ставили рекорды в «Змейке» на телефонах Nokia, таскали ящики в «Строителе» на Siemens и играли в другие предустановленные игры на девайсах других брендов, поэтому было очевидно, что игры на мобильных телефонах рано или поздно смогут занять немалую часть сегмента портативных игровых устройств.

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

Именно появление J2ME дало тот самый толчок для развития мобильного гейминга. Производители телефонов активно развивали и дорабатывали мобильную платформу, добавляя в неё различные API-расширения — например, активацию приложений через СМС и доступ в WAP-интернет. Сама платформа J2ME была достаточно простой для изучения и имела низкий порог вхождения не только для людей, имевших какой-то опыт программирования, но даже для совсем новичков, которые никогда не писали код и тем более игр! Благодаря этому, появились сотни игр, многие из которых до сих пор помнят и любят: это и легендарный «мячик» Bounce, и «зайчик с морковками» Bobby Carrot, и весьма крутой Gish, а также множество различных платформеров по известным фильмам и «большим» играм!

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

В 2003 году появился Nokia N-Gage — первый массовый телефон, ориентированный именно на мобильный гейминг, который поддерживал не только Java-игры, но и собственные Symbian-игры с достаточно крутой 3D-графикой! Примерно в том же 2003 году, для платформы Java вышло сразу два API-расширения, которые добавляли поддержку симпатичной 3D-графики даже в самые простенькие и бюджетные телефоны: Mobile 3D Graphics (M3G, была почти везде) и Mascot Capsule (эта платформа была только на Sony Ericsson и Motorola). Именно благодаря этим API, мы с вами увидели такие легендарные игры, как V-Rally, Galaxy on Fire, Deep3D и многие другие! Но тем не менее, эти API были относительно медленными из-за программной растеризации на процессоре без отдельного 3D-ускорителя и весьма ограниченными в функционале. Ближайший пример по функционалу — уровень софтрендера первой кваки на первом Pentium! Кстати, про 3D на мобильных телефонах я писал отдельную статью, там в практической части мы пишем 3D-бродилку для Sony Ericsson!

Но помимо кнопочных телефонов, существовал сегмент High-end мультимедийных устройств, которые предоставляли гораздо больший функционал и производительность за немалые деньги. И речь, конечно же, о КПК! Девайсы, работавшие на базе шустрых процессоров Intel PXA и Samsung S3C с Windows Mobile на борту были заметно более перспективными для игр… но как-то не задалось из-за отсутствия нормальных каналов для распространения. Но тем не менее, Intel (иронично, но один из самых больших производителей ARM-чипсетов для КПК в те годы), которая уже занималась развитием десктопной графики GMA и PowerVR активно работали в этой сфере и результатом стало появление видеоускорителя 2700G, который представлял из себя не только 3D GPU PowerVR MBX Lite, но и аппаратный декодер видео, позволявший смотреть видео в высоком качестве! MBX Lite позволял запустить даже Quake 3 в 640x480 (!), пусть и в 10-15 FPS… Ещё за 5 лет до этого, далеко не все десктопные видеокарты могли выдать больше 30 FPS в 800x600!

Конечно в 2004 году уже вышел PSP, выставивший новую планку уровня 3D-графики для портативного гейминга, однако для смартфонов и КПК, уровень графики, разрешение и производительность 3D-игр на MBX Lite был просто немыслимым! Одним из самых легендарных и популярных устройств с 2700G, которое вы можете приобрести достаточно дешево и сейчас, был КПК Dell Axim X51v, флагманская модель с VGA-дисплеем тех лет. Но нельзя сказать, что только PowerVR работала в этом направлении. Параллельно NVidia выпустили GoForce, крайне редко попадающийся в «полноценном» виде (NVidia предлагала дешевле лицензировать только видео-декодер с отключением 3D-части, как это было в Toshiba Portege G900) и ATI Imageon, который чаще всего можно встретить в виде Adreno на ранних Android-чипсетах Qualcomm (Adreno — анаграмма Radeon :)).

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

Тем не менее, решение PowerVR было действительно массовым: компания не предлагала отдельный чип (что обычно было дороже), как конкуренты, а лицензировала другим компаниям уже готовые IP-ядра, которые производители чипов могли синтезировать и использовать в своих собственных чипсетах, или, сопроцессорах, как в случае с 2700G. Благодаря этому, MBX появился в чипсете TI OMAP 2430, использовавшийся в легендарных Nokia N93i и Nokia N95, Samsung INNOV8, Asus Lamborghini, Nokia E90 и некоторых других. Кроме того, PowerVR MBX использовался в процессоре Samsung S5L8900, судя по всему, разработанный для iPhone 2G и 3G! Благодаря этому, его можно считать одним из первых массовых 3D GPU в телефонах!

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

Одна из игр для iPhone 2G и N95 — Assasins Creed

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

И Asphalt 5!

Весьма симпатично, согласитесь?

❯ Под капотом


Но MBX, конечно же, не появился «из ниоткуда» и был основан на более ранних разработках компании Imagination Tech, а именно GPU из полноценной домашней консоли SEGA Dreamcast — PowerVR CLX2, который в свою очередь был основан на ранних десктопных GPU PowerVR из середины-конца 90-х годов. Основная фишка PowerVR была в использовании так называемой техники отложного тайлового рендеринга (TBDR), которая, в отличии от классической растеризации и сортировки с помощью Z-буфера (или ручной сортировки треугольников) всех примитивов «в лоб» (методика, используемая в PSP, PS2 и большинстве видеокарт 2000-х годов), сначала ждёт от программы списка всех рисуемых треугольников в кадре, разбивает весь экран на тайлы (небольшие прямоугольные области), которые содержат в себе информацию о пересекающихся треугольниках, а затем процессом, несколько схожим с рейтрейсингом, определяет, какой из пикселей треугольника ближе всего находится к камере наблюдателя. Таким образом, мы избавляемся от необходимости сортировки геометрии с помощью Z-буфера (который сам по себе занимает достаточно много, по меркам тех лет, памяти и страдает от проблем точности и Z-fighting'а), а также такой метод позволяет реализовать более дешевый альфа-блендинг без ручной сортировки полупрозрачных примитивов и имеет ещё одну приятную фишку — «бесплатный» Occlusion Query, который можно использовать для реализации продвинутых техник отсечения невидимой глазу геометрии.

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

Производительность PowerVR MBX была весьма достойной для своих лет: при частоте работы в 200МГц, видеочип обеспечивал филлрейт в 100Мп, обрабатывал до 1млн треугольников в секунду. Нативным графическим API MBX был OpenGL ES 1.1 — специальная урезанная версия OpenGL для встраиваемых устройств, из которой выбросили все ненужное и которая заточена не только под floating-point, но и под fixed-point арифметику. В остальном, особо никаких отличий для программиста по сравнению с обычными GPU не было, можно было без проблем портировать уже существующие приложения для десктопого OpenGL для мобильные девайсы, чем и пользовались энтузиасты при портировании Quake 3 на Nokia E90, КПК и другие девайсы. Также, PowerVR MBX поддерживал D3DM — графический API Windows Mobile, о котором мы поговорим позднее.

Однако PowerVR MBX был GPU с фиксированным конвейером (FFP), а не программируемым, как принято в современных 3D-ускорителях. Что-же такое программируемый и фиксированный конвейер? Давайте разберемся:

  • Фиксированный конвейер: для того, чтобы задать визуальную составляющую рисуемой геометрии, программист оперирует набором заранее определенных при проектировании видеочипа параметров, которые позволяют управлять внешним видом растеризуемых примитивов. Например, для реализации света, программист задает параметры каждого из 8 источников света влияющих на рисуемый объект. Если программисту необходимо наложить несколько текстур за один проход (например, для реализации плавных переходов текстур на ландшафте или нанесения карты отражений на модель), он оперировал комбайнерами, которые позволяли задавать для каждого сэмплера параметры наложения. Такой подход использовался на десктопных GPU эпохи до GeForce 3 (т. е. примерно до 2000 года), до PS3 на Sony PlayStation (Xbox сразу вышел с GeForce 3) и до PSP включительно на портативках. Очевидно, что такой подход сильно ограничивает программиста в том, как будет выглядеть его игра на той или иной видеокарте.

  • Программируемый конвейер: в программируемом подходе, для управления визуальной составляющей программист пишет небольшие программы для видеокарты, называемые шейдерами. Всего есть два базовых (в современных GPU их больше) этапа программируемого конвейера: первый из них — вершинный шейдер, отвечающий за трансформацию геометрии (перевод из мировой системы координат в экранную) и, например, анимацию. Трансформированные вершины отправляются в следующий этап конвейера — растеризацию, где выполняется уже пиксельный шейдер, который определяет цвет пикселя (или более корректно — фрагмента в терминологии 3D графики) — т.е например, окрас объекта в определенной цвет, текстуру (или несколько текстур), рассчитывает попиксельное освещение, накладывает тени и т. д. Кроме того, такой подход позволяет реализовать сложные техники типа Ambient Occlusion, SSR, а также пост-эффекты (например блюр/блум, правда эти два можно «сэмулировать» и на FFP при определенной сноровке).


К 2007 году, Khronos выпустили спецификацию второй версии OpenGL ES, которая добавляла в мобильные устройства поддержку программируемого конвейера и шейдеров. Таким образом, мобильные GPU всё ближе приближались к уровню консолей и могли выдавать вполне годную графику, близкую к консолям. Даже была когда-то такая консоль, как Zeebo, которая работала на базе смартфонного чипсета Qualcomm с графикой ATI Imageon (!). PowerVR уже в 2009 выпустила серию SGX, которая также использовалась в iPhone, iPad, многих Android-смартфонах и планшетах, а также PS Vita!

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

Modern Combat 3 на iPad

Но статья с пересказом фишек PowerVR MBX была бы не особо интересной без практической части с написанием 3D-игры под этот GPU с нуля! Поэтому предлагаю посмотреть на нашего сегодняшнего гостя, легендарный флагманский КПК Dell Axim X51v из далекого 2005 года! Для тех лет, это настоящий «жир»:

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

Его мне подарил мой читатель Сергей с Хабра, за что ему огромное спасибо! Девайс был в полной комплектации, даже с флэшкой и усиленной АКБ, которая до сих пор неплохо держит заряд, однако у него не работал тачскрин. Если вам интересен только процесс программирования игры, а не аппаратного ремонта, то листайте ниже сразу до следующего абзаца :)

❯ Практическая часть: ремонтируем КПК


По факту, девайс полностью работал, однако в некоторые моменты времени не откликался на кнопки и тачскрин, и по всем симптомам это напоминало дребезг кнопок. При этом тачскрин сам по себе реагировал нормально во всех местах, что, фактически, исключало вероятность его поломки (хотя резистивные тач-панели сами по себе не особо надежные, в отличии от емкостных тачскринов). Дело было вот в чём: во многих КПК тех лет был отдельный аппаратный переключатель блокировки клавиатуры и тачскрина, который можно было использовать при просмотре фильмов. Однако на моем девайсе он был слишком разболтанным…

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

Разбирается КПК несложно: выкручиваем 4 винта и снимаем переднюю часть корпуса. На всякий случай я прочистил грязь между тачем и верхней частью корпуса — она тоже бывает влияет на ложные нажатия и чувствительность тачскрина:

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

А вот и виновник наших проблем: рычажок переключателя был отломан, но все еще находится в положении «разблокирован». Даже если в выжать в упор — он все равно не работал. Ну что ж, фен в руки, сдуваем переключатель и ставим вот такую перемычку (на фото флюс ещё не отмыт):

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

Включаем девайс и смотрим — теперь всё работает! Вот такой простой и быстрый ремонт Axim'а. КПК мне сразу очень понравился, я и ранее знал о его легендарности, но теперь узнал и о том, что он очень круто спроектирован и собран! Кстати, есть смысл сразу сдуть концевой выключатель, который прижимает задняя крышка и заменить на перемычку.
GPU не очень хорошо работает на кастомных прошивок, на которую прошиты многие Axim X51v. Поэтому есть смысл прошить сток: качаем прошивку (Файл отката), закидываем на SD-карту и ребутим девайс нажатием клавиш Wi-Fi + включение + Reset. После этого, девайс пойдет прошиваться.

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

Теперь девайс чистый, как с завода! Можно приступить к написанию небольшой демки-игрушки, которая сможет продемонстрировать нам перспективы нашего КПК в 3D!

❯ Практическая часть: подготовка


Изначально, в практической части статьи должна была участвовать не менее легендарная Nokia N95. Однако вот незадача: несмотря на то, что под Symbian сохранился SDK (который работает нормально только под Windows XP), на устройствах с системой старше 9.x необходимо взламывать installserver, дабы иметь возможность ставить хоумбрю программы (к которым относится и наша игра) и отладчик TRK.

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

И хотя свой девайс я пропатчил, дебаггер нормально поднять мне так и не удалось. Я смог проинициализировать контекст GLES, запилить примитивный рендерер с загрузкой ассетов из памяти устройства но потом решил перевести проект на WinMobile… Проблем с разработкой под Symbian много: если приложение крашится — то оно просто закрывается, без сообщений и логов. Добавьте к этому то, что в Symbian вообще нет исключений и не всегда можно записать ошибки в лог и отладка превращается в ужас. Ситуацию исправляет Qt, который работает на N95, но в котором нет поддержки GLES (по крайней мере, в виде обычного QOpenGL, хотя возможность юзать API системы из Qt есть и дебаггер там работает нормально, так что не всё потеряно). Если вы когда-то что-то пилили под Symbian, особенно в Carbide — пишите свой опыт в комментариях, интересно почитать :)

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

WinMobile не менее интересен тем, что в нём поддерживается сразу два графических API: классический OpenGLES в профиле Common Lite (только fixed-point арифметика) и мобильная версия Direct3D — D3DM.dll, которая предоставляет API очень похожее на DX9, но без поддержки шейдеров. Что не менее приятно — есть официальные биндинги от Microsoft к D3DM в .NET Compact Framework, что позволяет легко писать 3D-игры под WM на C#/VB.NET.
Поскольку WinMobile — достаточно открытая для пользователя система, хватит лишь накатить VS2005/2008 на машину с WinXP/WinVista/Win7/Win8 и сразу начать разрабатывать под неё приложения, никаких проблем с отладкой и запуском приложений тут нет. На Win10/Win11 совместимость с WM5 поломали :(

Создаём приложение для смарт-устройств, выбираем в качестве целевой платформы WM5-устройство (эмулятор будет слишком медленным для наших целей, он даже для 2D-игр не подойдет) и, наконец-то, приступаем к написанию игры!

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

Что же за игра у нас будет? Я решил сделать эдакое 3D-переосмысление популярного в прошлом бесконечного раннера из «тетриса», где мы едем на машинке F1 и обгоняем другие машины, стараясь в них не врезаться. Основной целью является набрать как можно больше очков. Подобные игры достаточно популярны на мобильных девайсах и сейчас: вспомнить хотя-бы Highway Traffic, однако мой вариант будет весьма колоритным: ведь в моей демке мы будем кататься на ТАЗе 21099 и уворачиваться от гнилых «вторых гольфов». Ну а почему бы и нет, я просто очень люблю старые гнилые жигули и это не первый мой проект про машины этого производителя :)

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля, ч.1 Гаджеты, Программирование, Смартфон, Кпк, Dell, Opengl, Gles, Directx, Видеокарта, Мобильные телефоны, Девайс, 3D графика, Gamedev, Графика, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

❯ Практическая часть: «движок»


Как и у настоящей машины, у каждой игры должен быть собственный движок! Однако в случае конкретно нашей игры, это скорее небольшой фреймворк, который предоставляет ровно тот функционал, который нужен игре без каких либо излишеств. Необходимо изначально распланировать требования для будущего фреймворка, дабы написание игры не скатилось в процесс, известный в узких кругах как «движкописание» :)

  • Рендерер: с графической точки зрения, фреймворк должен реализовывать весьма небольшой функционал. Загружать геометрию и текстуры из файлов в специально-подготовленном формате, реализовывать концепцию камеры, отрисовывать статическую геометрию, а также спрайты и текст, реализовывать примитивную систему материалов, которая позволяет наносить на геометрию текстуры, красить их в определенный цвет и управлять повершинным освещением, а также наносить на геометрию отражения с помощью специально подготовленных enviornment-текстур. Кроме того, рендерер должен уметь рисовать симпатичное анимированное небо в виде полусферы.

  • Звук: воспроизведение wav-звуков и музыки из файлов. Да и всё пожалуй — что ещё нужно от звуковой подсистемы? :) Стерео ведь нет, поэтому и 3D-звук не нужен.

  • Ввод: обработка нажатий на тачскрин и аппаратные кнопки устройства, маппинг кейкодов в виртуальный «геймпад». GUI-подсистему тоже частично можно отнести именно сюда!

  • Физика: AABB и Sphere vs Sphere столкновения. Никакого полноценного солвера тут и не нужно :)


Начинаем, пожалуй, с реализации рендерера. Сначала нам необходимо создать окно и контекст D3DM. Процесс практически идентичен D3D8 и D3D9: передаём информацию о нужном адаптере (видеочипе) и заполняем структуру PresentationParameters, однако есть важные нюансы: аппаратный FSAA лучше всего отключить (MultisampleQuality), а также передавайте точный размер окна, в которое собираетесь рендерить изображение, иначе система начнёт софтварно (!) скейлить рендертаргет до размера окна каждый кадр, что, как сами понимаете, крайне медленно.

Из форматов Depth-Stencil форматов поддерживается D16, D24S8 и D32. Желательно использовать D16 (несмотря на тайловую архитектуру, насколько мне известно, в MBX все равно есть fallback до классического рендеринга при некоторых условиях). Практически на всех КПК и коммуникаторах использовался 16-битный цвет, т.е RGB565, но можно указать Unknown — тогда GAPI подцепит тот формат пикселя, что используется в остальной системе.

PresentParameters pp = new PresentParameters();
pp.AutoDepthStencilFormat = DepthFormat.D16;
pp.BackBufferCount = 1;
pp.BackBufferFormat = Format.Unknown;
pp.BackBufferWidth = parentForm.ClientSize.Width;
pp.BackBufferHeight = parentForm.ClientSize.Height;
pp.EnableAutoDepthStencil = true;
pp.FullScreenPresentationInterval = PresentInterval.One;
pp.MultiSample = MultiSampleType.None;
pp.PresentFlag = PresentFlag.None;
pp.SwapEffect = SwapEffect.CopyVSync;
pp.Windowed = true;

device = new Device(0, DeviceType.Default, parentForm.Handle, CreateFlags.None, pp);
device.RenderState.Lighting = false;

aspectRatio = (float)parentForm.ClientSize.Width / (float)parentForm.ClientSize.Height;

Переходим сразу же к рисованию геометрии! Для начала рендеринга, нам необходимо подготовить состояние контекста: посчитать и установить матрицы вида (т. е. камеры) и проекции для трансформации геометрии, задать рендерстейты (список состояний, например нужно ли рисовать модельку с освещением, или нет), очистить экран и Z-буфер и установить параметры фильтрации текстур. Перспективная коррекция текстур — достаточно тяжелая операция и использовать её стоит лишь при необходимости:

public void BeginScene()
{
device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, System.Drawing.Color.SkyBlue, 1.0f, 0);
device.BeginScene();

device.TextureState[0].MinFilter = TextureFilter.Point;
device.TextureState[0].MagFilter = TextureFilter.Point;
device.RenderState.TexturePerspective = true;

// Prepare projection
Matrix matrix = Matrix.PerspectiveFovLH(60.0f * MathUtils.DegToRad, aspectRatio, 0.1f, 350.0f);
device.SetTransform(TransformType.Projection, matrix);
}

public void EndScene()
{
device.EndScene();
device.Present();

System.Threading.Thread.Sleep(16);
}

Чтобы какую-то модельку нарисовать, нам нужно сначала её загрузить! Для возможности напрямую прочитать треугольники из файла и сразу записать их в вершинный буфер, я написал небольшой конвертер из формата SMD (GoldSrc) в собственный, очень простой и легковесный формат, который состоит из позиции вершины и её текстурных координат:

public struct BoundingBox
{
public float MinX, MinY, MinZ;
public float MaxX, MaxY, MaxZ;
}

public sealed class ModelConverter
{
public const int Header = 0x1234;

static BoundingBox CalculateBBox(SmdMesh mesh)
{
BoundingBox ret = new BoundingBox();
ret.MinX = float.PositiveInfinity;
ret.MinY = float.PositiveInfinity;
ret.MinZ = float.PositiveInfinity;
ret.MaxX = float.NegativeInfinity;
ret.MaxY = float.NegativeInfinity;
ret.MaxZ = float.NegativeInfinity;

foreach (SmdTriangle triangle in mesh.Triangles)
{
for (int i = 0; i < 3; i++)
{
ret.MinX = Math.Min(ret.MinX, triangle.Verts[i].Position.X);
ret.MinY = Math.Min(ret.MinY, triangle.Verts[i].Position.Y);
ret.MinZ = Math.Min(ret.MinZ, triangle.Verts[i].Position.Z);

ret.MaxX = Math.Max(ret.MaxX, triangle.Verts[i].Position.X);
ret.MaxY = Math.Max(ret.MaxY, triangle.Verts[i].Position.Y);
ret.MaxZ = Math.Max(ret.MaxZ, triangle.Verts[i].Position.Z);
}
}

return ret;
}

private static int FloatToFixedPoint(float x)
{
return ((int)((x) * 65536.0f));
}

public static void Convert(string fileName, Stream stream)
{
Console.WriteLine("Converting mesh " + fileName);

Smd2Bmd.SmdMesh mesh = new Smd2Bmd.SmdMesh(stream);
BoundingBox bb = CalculateBBox(mesh);

using(Stream outStrm = File.Create(Path.GetFileNameWithoutExtension(fileName) + ".mdl"))
{
BinaryWriter writer = new BinaryWriter(outStrm);

writer.Write(Header);
writer.Write(mesh.Triangles.Count * 3); // Verts count

// BBox
writer.Write(bb.MinX);
writer.Write(bb.MinY);
writer.Write(bb.MinZ);
writer.Write(bb.MaxX);
writer.Write(bb.MaxY);
writer.Write(bb.MaxZ);

foreach (SmdTriangle triangle in mesh.Triangles)
{
for (int i = 0; i < 3; i++)
{
writer.Write(FloatToFixedPoint(triangle.Verts[i].Position.X));
writer.Write(FloatToFixedPoint(triangle.Verts[i].Position.Y));
writer.Write(FloatToFixedPoint(triangle.Verts[i].Position.Z));

writer.Write(triangle.Verts[i].UV.X);
writer.Write(triangle.Verts[i].UV.Y);
}
}
}
}
}

Обратите внимание, PowerVR MBX оперирует fixed-point арифметикой! D3DM, конечно, может автоматически преобразовывать float-координаты вершин в числа с фиксированной точкой, вот только реализовано это криво и косо: драйвер будет конвертировать все вершины в fixed-point каждый вызов отрисовки, вместо того, чтобы один раз преобразовать их после Unlock'а вершинного буфера. Теперь представьте, насколько это тормозно для хоть сколь-либо комплексной модели :)

При этом загрузчик модели при таком подходе будет очень простым и будет работать шустро даже на таком слабеньком железе:

public Model(string debugName, Stream strm)
{
BinaryReader reader = new BinaryReader(strm);

int hdr = reader.ReadInt32();
int numVerts = reader.ReadInt32();
int vertSize = 20;

Bounds = new BoundingBox(reader.ReadSingle() * 2, reader.ReadSingle() * 2, reader.ReadSingle() * 2,
reader.ReadSingle() * 2, reader.ReadSingle() * 2, reader.ReadSingle() * 2);

PrimitiveCount = numVerts / 3;

byte[] data = new byte[numVerts * vertSize];
strm.Read(data, 0, (int)(strm.Length - strm.Position));

Buffer = new VertexBuffer(Engine.Current.Graphics.device, vertSize * numVerts, Usage.None, VertexFormats.PositionFixed | VertexFormats.Texture1, Pool.SystemMemory);
GraphicsStream gs = Buffer.Lock(0, Buffer.SizeInBytes, LockFlags.None);
gs.Write(data, 0, data.Length);
Buffer.Unlock();

DebugName = debugName;
}

Переходим к текстурам. Грузить напрямую png/jpg на КПК слишком долго, поэтому их я тоже перегоняю в собственный примитивный формат, который состоит из описания ширины/высоты, а также формата текстуры и собственно, самих пикселей. На данный момент поддерживаются только RGB565 текстуры — с ними MBX работает лучше всего:

public sealed class TextureConverter
{
public const int Header = 0x1234;

public static unsafe void Convert(string fileName, Stream stream)
{
Console.WriteLine("Converting texture " + fileName);

Bitmap bitmap = (Bitmap)Image.FromStream(stream);
byte[] pixels = new byte[bitmap.Width * bitmap.Height * 2];

System.Drawing.Imaging.BitmapData data = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height),
System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format16bppRgb565);
Marshal.Copy(data.Scan0, pixels, 0, pixels.Length);

bitmap.UnlockBits(data);

using (Stream outStrm = File.Create(Path.GetFileNameWithoutExtension(fileName) + ".tex"))
{
BinaryWriter writer = new BinaryWriter(outStrm);

writer.Write(Header);
writer.Write(0); // 0 - 565, 1 - RGBA
writer.Write(bitmap.Width);
writer.Write(bitmap.Height);

writer.Write(pixels);
}
}
}

Загрузчик тоже получился примитивным и шустрым донельзя, пусть и без какой либо компрессии. PowerVR MBX поддерживает собственный формат компрессии — PVRTC:

BinaryReader reader = new BinaryReader(strm);

int hdr = reader.ReadInt32();
int fmt = reader.ReadInt32();

Width = reader.ReadInt32();
Height = reader.ReadInt32();

byte[] data = new byte[Width * Height * 2];
strm.Read(data, 0, data.Length);

Handle = new Texture(Engine.Current.Graphics.device, Width, Height, 1, Usage.Lockable, Format.R5G6B5, Pool.VideoMemory);

int pitch;
GraphicsStream gs = Handle.LockRectangle(0, LockFlags.None, out pitch);
gs.Write(data, 0, data.Length);
Handle.UnlockRectangle(0);

strm.Close();

Переходим, наконец, к фактическому рисованию модели! Для этого мы строим мировую матрицу для трансформации нашей модели, а также задаем вершинный буфер для, собственно, вершинного конвейера и посылаем видеочипу команду отрисовки. ZBufferWriteEnable нужен для отрисовки геометрии без записи в Z-буфер, что можно использовать, например, для реализации скайбоксов:

public void DrawModel(Model model, Transform transform, Material material)
{
Matrix matrix = Matrix.RotationY(transform.Rotation.Y * MathUtils.DegToRad)
* Matrix.Translation(transform.Position);
device.SetTransform(TransformType.World, matrix);

// Setup renderstate
device.RenderState.ZBufferWriteEnable = !material.DepthWrite;
device.SetTexture(0, material.Diffuse.Handle);

device.SetStreamSource(0, model.Buffer, 0);
device.DrawPrimitives(PrimitiveType.TriangleList, 0, model.PrimitiveCount);
}

И рисуем модельку:

Model model;
Material mat;
Transform t;

void Start()
{
model = Model.FromFile("model.mdl");

mat = new Material();
mat.Diffuse = Texture2D.FromFile("test.tex");
}

void Update()
{
t = new Transform();
t.Position.Z = 150;
t.Rotation.Y += 0.1f;

graphics.DrawModel(model, t, mat);
}

Результат: у нас есть крутящийся кубик или любая другая произвольная 3D-модель!

Переходим к обработке ввода. Тут ничего сложного нет, ловим события KeyUp/KeyDown формы и назначаем виртуальным кнопкам их состояние.

public Input(Form parentForm)
{
keyState = new bool[(int)GamepadKey.Count];

parentForm.KeyPreview = true;

parentForm.KeyDown += new KeyEventHandler(OnKeyDown);
parentForm.KeyUp += new KeyEventHandler(OnKeyUp);
}

private GamepadKey ResolveKeyCode(Keys key)
{
GamepadKey k = GamepadKey.Count;

switch (key)
{
case Keys.Left:
k = GamepadKey.Left;
break;
case Keys.Right:
k = GamepadKey.Right;
break;
case Keys.Up:
k = GamepadKey.Up;
break;
case Keys.Down:
k = GamepadKey.Down;
break;
case Keys.Return:
k = GamepadKey.OK;
break;
}

return k;
}

void OnKeyUp(object sender, KeyEventArgs e)
{
GamepadKey key = ResolveKeyCode(e.KeyCode);

if (key != GamepadKey.Count)
SetKeyState(key, false);
}

void OnKeyDown(object sender, KeyEventArgs e)
{
GamepadKey key = ResolveKeyCode(e.KeyCode);

if (key != GamepadKey.Count)
SetKeyState(key, true);
}

public bool GetKeyState(GamepadKey key)
{
return keyState[(int)key];
}

private void SetKeyState(GamepadKey key, bool state)
{
keyState[(int)key] = state;
}

Теперь мы сможем управлять нашей машинкой в игре (которой пока ещё нет). Самая-самая основа для реализации игры подобного плана у нас есть, пора переходить к геймплею!

Показать полностью 17 3
[моё] Гаджеты Программирование Смартфон Кпк Dell Opengl Gles Directx Видеокарта Мобильные телефоны Девайс 3D графика Gamedev Графика Видео Без звука Вертикальное видео YouTube Длиннопост
12
11
Seat4life
2 года назад

Ответ на пост «Находка новый коммуникатор из 2000-х HTC Artemis P3300»⁠⁠1

В оригинальном посте все с такой теплотой вспоминают «свой 2007» в плане эпохи коммуникаторов и КПК, и ругают современные смартфоны за отсутствие «изюминок» и индивидуальности, что я не могу не высказаться.

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

Но я, почему-то, особенно ярко помню из эпохи коммуникаторов и палмов только минусы, связанные с регулярным «красноглазием».

Ответ на пост «Находка новый коммуникатор из 2000-х HTC Artemis P3300» Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост, Ответ на пост
  • Постоянный пердолинг с программным обеспечением. Чтобы банально поставить какой-то нужный софт - его нужно найти. Чтобы понять, удобна ли тебе именно эта программа или нет, нужно основательно попробовать с пяток схожих по функционалу. Иногда требовалась конкретная версия ПО, по разным причинам: или работает лучше, или функционал нужный, или батарею жрёт меньше. Всё это выливалось в часы сидения на 4pda и смежные форумы, чтение мануалов и сообщений в стиле «этот вопрос уже был на 372 странице обсуждения!!11!».

  • Крайне слабая приспособленность к «однорукому» управлению. Нет, конечно, можно было наловчиться и сносно управляться одной рукой, но далеко не так удобно, как сейчас. Опять же, для более комфортного управления существовали различные оболочки, но чтобы их поставить и настроить… смотри первый пункт.

  • Все как-то забыли, что аккумулятор в принципе не был сильной стороной коммуникаторов (заряди дома в кредле, заряди на работе по проводу), мало того, у ранних представителей этой когорты были проблемы с энергонезависимой памятью - разрядил аппарат «в полный ноль», получи “жесткий сброс” всех настроек. Приходилось искать софт, который жрёт аккум меньше аналогов, пользоваться специализированным софтом типа менеджеров(!) батарей, делаем постоянные бэкапы. В общем, опять возвращаемся в первый пункт.

Ответ на пост «Находка новый коммуникатор из 2000-х HTC Artemis P3300» Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост, Ответ на пост
  • Обновление прошивок - моё любимое. Любое обновление операционной системы = красноглазинг и пердолинг. Никаких обновлений «по воздуху», никаких обновлений ПО в течение 5 лет. Помню это ощущение - один год, в лучшем случае два, выход нового флагмана, и ты 100% остаешься один на один с обновлениями своего девайса в попытках получить свежую версию операционки. Почитать 4pda, почитать xda-developers, разблокировать загрузчик, прошить ядро, прошить «самодельную» прошивку с новой версией операционки. Этот процесс мог превратиться в практически бесконечный поиск наиболее стабильной и удобной версии. А уж сколько возможностей по неопытности «окирпичить» девайс…

Ответ на пост «Находка новый коммуникатор из 2000-х HTC Artemis P3300» Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост, Ответ на пост

В общем, это всё в «2007 году», конечно, было прекрасно (это не точно), но я, пожалуй, выберу Эппстор/Гуглплей, стабильные обновления по 5 лет, аккумулятор на 1-2 дня, миграцию всех данных со старого на новый телефон на 20 минут и все остальные плюсы современных устройств. Даже эпоха Symbian вспоминается мной с большей теплотой, чем WinMobile.

Показать полностью 3
Мобильные телефоны 2000-е Windows Mobile Кпк Ностальгия Длиннопост Ответ на пост
7
2515
silversmart
silversmart
2 года назад

Находка новый коммуникатор из 2000-х HTC Artemis P3300⁠⁠1

Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост

Приветствую.

В наши дни был найден совершенно новый в упаковке флагманский коммуникатор на Windows Mobile HTC P3300 он же Artemis.

Насколько я помню девайс знатный и культовый, был флагманом линейки коммуникаторов HTC и первый под собственным брендом, в самом начале 2007 года стоил около 700$.

Имеет приятный дизайн, маленький, лёгкий и удобный, есть фишка с кольцом управления и колёсиком внутри, которое можно использовать что то наподобие мышки, двигать курсор на экране.

Девайс каким то чудом пролежал до наших дней без использования в своей родной коробке, лежал там долгих 16 лет и сохранился новым как будто только что из магазина.

На упаковке есть его характеристики, на начало 2007 года вполне себе ничего.

Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост

В коробке внушительных размеров полно разных вещей и аксессуаров.....

Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост

Инструкция основная очень толстая на 250 страниц не то что сейчас, оно и понятно перед вами полноценный карманный компьютер, который в 2000-х был фактически как ПК в кармане с нормальной, многофункциональной виндой, редактором реестра и т.д.

Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост
Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост

Оригинальные диски с софтом, еще не распечатанные, там есть программа для GPS навигации.

Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост

Так же в коробке был и такой установочный CD диск, скорее всего он отдельно покупался, там прога для GPS навигации.

Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост
Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост

Остальной комплект так же весьма внушительный, неплохой чехол на пояс, зарядка от сети, стерео гарнитура, запасной стилус, кабель для синхронизации с ПК, карта памяти на 2GB microSD, родной аккумулятор. Так же в коробке был найден и аккум Craftmann для этой модели, сама батарейка еще в плёнке не распечатана, кто то купил но руки так и не дошли до нее.

Плюс интересный девайс, выносная внешняя антенна для GPS навигации со штекером который вставляется в гнездо КПК скрытое за резиновой заглушкой.

Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост
Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост
Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост

Загрузка КПК...

Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост

Что меня очень сильно удивило девайс имеет Wi-Fi адаптер который понимает современный роутер и шифрованное подключение.

Я включил Wi-Fi модуль, он увидел доступные точки и я подключился с 1-го раза к своей, введя пароль, поставил оперу и попробовал выйти в инет на нём в 2023 году.

Невероятно но оно ещё работает, даже этот сайт загрузился и Яндекс только в сильно упрощённом виде.

Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост
Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост
Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост

Пара фоток девайса и рабочего стола......

Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост
Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост
Находка новый коммуникатор из 2000-х HTC Artemis P3300 Мобильные телефоны, 2000-е, Windows Mobile, Кпк, Ностальгия, Длиннопост

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

Я уже много лет сижу как почти все на Андроиде, но вот ощущение от него не такое, вроде всё делает а всё равно какая то ИМХО мыльница.

Смартфоны и Коммуникаторы из 2000-х как по мне тогда имели совсем другой вес и воспринимались по другому и делали всё как то иначе.

Думаю оставлю себе в коллекцию, аппарат очень интересный.

Показать полностью 18
[моё] Мобильные телефоны 2000-е Windows Mobile Кпк Ностальгия Длиннопост
283
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии