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

Спрятано в 2024

Поиск предметов, Казуальные

Играть

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

  • AlexKud AlexKud 38 постов
  • Animalrescueed Animalrescueed 36 постов
  • Oskanov Oskanov 7 постов
Посмотреть весь топ

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

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

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

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

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

Ответ на пост «Помогите со сборкой ПК»⁠⁠1

Привет. Личные рекомендации. Хотя я понимаю, что бюджет не резиновый, но все ровно советую прочитать)

На твоем месте я бы поставил Ryzen 5 5600, у него L3 кэша больше, от чего обращений к озу будет меньше с мамашкой на B550 чипсете, плата от ASROCK Micro-ATX b550m pro4 сойдет на ура

Кол-во опры немного смущает. Я бы поставил 32 гига, и, кстати, лучше определиться сколько хочешь кол-ва опры. Бери или 16 гигов (это 2 плашки по 8гб) или 32 гига (2 плашки по 16 гб) - почему? Потому что никакого четырёхканала у тебя не будет - у тебя же не серверный процессор, а вот контроллеру памяти твоего проца, будь то интел - то райзен, будет херовенько. Например, память в 4 гнёздах может не брать частоту более 3ггц, у самого такое было на двухранговой памяти, когда я сидел на 10400f

Корпус в принципе нормальный, но если хочешь более тихую сборку, то советую Cougar MX600 MINI RGB. Советую по принципу - чем больше размер вентилятора, то меньше оборотов надо для такой же эффективности с обычным 120-тником. Ну, чем меньше оборотов, тем меньше шума.

Вот блок питания замени. 4500 рублей за 700w? У самого стоит MONTECH GAMMA II 750, правда он и стоит дороже. Но на БП'шниках экономить - плохая затея. <650w для твоей среднебюджетной сборки будут идти с запасом

Кулёк вполне нормальный. У кента стоит Ryzen 5700x3D под AG400 (правда не ARGB).

Видюха хорошая, среднебюджетная. Но лично я в районе 30-36к рос. руб. взял бы 7600 xt - видеопамяти побольше, но тут дело выбор уже за тобой. Выбирай свою кремниевую палочку твикс - nvidia или amd))

ССДшку под терабайт, и желательно ЖД под файлопомойку

Показать полностью
Вопрос Спроси Пикабу Сборка компьютера Компьютерное железо Компьютерная помощь Компьютер Материнская плата Игровой ПК Нужен совет Спасибо Видеокарта Клавиатура Windows Сборка Железо Counter-strike 2 Beamng Drive Ремонт техники Euro Truck Simulator 2 Ets 2 mp Текст Ответ на пост
11
8
Вопрос из ленты «Эксперты»
Аноним
Аноним
1 месяц назад
Про железо

Помогите со сборкой ПК⁠⁠1

Нужна средняя бюджетная сборка в основном играть в игрушки такие как ETS 2, CS2, BeamNG Drive на средних или высоких настройках в разрешении 1920х1080 144гц в 60 фпс.

Насобирал такое:

Материнская плата MSI PRO B760M-A WIFI DDR4

Процессор Intel Core i5-12400F OEM

Блок питания Cougar STX 700W

Корпус DEEPCOOL CC560 MESH V2

Видеокарта Palit GeForce RTX 3060 Dual (LHR)

Кулер для процессора DEEPCOOL AG400 BK ARGB

Оперативная память Kingston FURY Beast Black [KF432C16BBK2/16] 16 ГБ 500 ГБ M.2 NVMe накопитель Kingston NV2

Что скажете? Просто особо в компах не шарю. Что называется хочется купить, собрать да забить и играть. В целом под мои потребности подойдёт или можно что-то подешевле собрать под мои требования?

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

Тут разве что по поводу кулера и корпуса сомневаюсь.

Если для удобства нужны будут ссылки с ДНС - дайте знать. На оставляю в посте, мало ли за рекламу воспримут

[моё] Вопрос Спроси Пикабу Сборка компьютера Компьютерное железо Компьютерная помощь Компьютер Материнская плата Игровой ПК Нужен совет Спасибо Видеокарта Клавиатура Windows Сборка Железо Counter-strike 2 Beamng Drive Ремонт техники Euro Truck Simulator 2 Ets 2 mp Текст
49
9
InfoJam
InfoJam
1 месяц назад
pikabu GAMES

Windows 10 и старые GeForce уходят вместе⁠⁠

Windows 10 и старые GeForce уходят вместе Windows 10, Windows, Geforce, Nvidia, Компьютер, Игры, Технологии, Железо, Компьютерное железо, Microsoft, Игровой ПК

Nvidia объявила о глобальных изменениях в поддержке драйверов:

📌 Что известно

  • Поддержка драйверов для Windows 10 завершится в октябре 2026 года.

  • Уже с осени 2025-го без игровых обновлений останутся:
    • GeForce GTX 10‑я серия (1060, 1070, 1080 и др.)
    • GeForce GTX 9‑я серия (960, 970, 980)
    • GeForce GTX 7‑я серия (750 Ti, 760, 780 и т.д.)

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

🕹 Почему это важно

GTX 1060 долгое время считалась самой популярной видеокартой в мире — она держалась на первом месте по количеству пользователей в Steam больше 5 лет. Теперь она окончательно уходит в историю.

⚡️ Для Windows 10 это тоже финальный аккорд — после октября 2026-го Microsoft полностью прекратит выпуск обновлений. Пользователей будут настойчиво переводить на Windows 11 и 12.

📉 Что это значит для геймеров

  • Новые тайтлы (особенно ААА) начнут хуже работать или вовсе не запускаться на старых GTX.

  • Возможны проблемы с совместимостью и падение FPS.

  • Игры будут оптимизироваться в первую очередь под RTX и Windows 11/12.

💡 Что можно сделать

  • Если у тебя GTX 1060/970/750 Ti — она ещё проживёт какое-то время на уже существующих драйверах.

  • Но для новых проектов придётся задуматься о переходе хотя бы на RTX 20‑ю серию и выше.

  • Windows 10 пока можно использовать, но к 2026-му всё равно придётся мигрировать.


💬 Лично мне грустно: GTX 1060 реально была рабочей лошадкой, которая тянула кучу игр на средних и высоких настройках. Но эра меняется.

👉 А вы до сих пор сидите на GTX или уже пересели на RTX?


📲 Подобные новости про технологии, игры и мемы я часто разбираю у себя в ТГ-канале InfoJAM. Подписывайтесь, чтобы быть в теме 😉

Показать полностью
[моё] Windows 10 Windows Geforce Nvidia Компьютер Игры Технологии Железо Компьютерное железо Microsoft Игровой ПК
15
918
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER
3 месяца назад

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет?⁠⁠

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

В сегодняшней статье мы продолжим с вами ретроспективную рубрику о том, на каких аппаратных и программных платформах работали легендарные устройства из нулевых. В прошлой статье мы с вами посмотрели на Siemens M55 и его аппаратную платформу E-Gold, а сегодня я хотел бы рассказать об уникальном смартфоне 2002 года от малоизвестной тайваньской компании HTC, который обогнал iPhone на целых 5 лет.

Если вам интересно узнать как выглядел самый мощный смартфон 2002 года, что у него было под капотом и причём здесь Intel — добро пожаловать под кат!

❯ С чего всё начиналось?

В далёком 1997 году, в Тайване появилась корпорация High Tech Computer — или сокращенно HTC. С самого начала своего пути, компания занималась разработкой портативных компьютеров и, как бы странно это сейчас не звучало, была одним из десятков почти неизвестных ODM и OEM производителей электроники в Азии. При этом несмотря на инновации (уже в 1998 году компания выпустила первое устройство с тачскрином), первые продукты компании были финансовым провалом и найти о них какую-либо информацию очень сложно, а все фотографии в веб-архиве утеряны.

ODM — это когда компания выполняет полный цикл разработки и производства устройства: от проектирования платы и корпуса, до написания драйверов и адаптации прошивки. На ODM-устройство обычно наносится логотип нужного бренда и затем выпускается на рынок под видом собственной разработки. Примеры: Fly, Explay, RoverPC, QTek, O2 и т.п.

OEM же включает в себя только производственный цикл, без разработки устройства. Например, сборка iPhone на заводах Foxconn — это OEM.

С момента основания, HTC решила сделать ставку на новую и перспективную операционную систему от Microsoft для портативных компьютеров — Windows CE, а основными продуктами компании были классические КПК (которые тогда называли Palm-Sized PC) и тонкие клиенты на базе процессоров с архитектурой ARM. Из-за ODM бизнес-модели тех лет, мир знал устройства компании не как HTC, а как один из множества брендов: QTek для рынка Европы, Dopod для Азии, i-Mate для США, а также T-Mobile и O2 в качестве брендированных устройств для операторов мобильной связи. Также HTC делала устройства для HP и её суббренда Compaq.

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

В 2000 году Microsoft представила отдельную ветку Windows CE, адаптированную специально для КПК — PocketPC 2000, а уже в 2001 году выпустила следующую версию — PPC2002, где добавила поддержку GSM-радиомодулей, превратив карманный компьютер в полноценный смартфон! Ну, или как тогда называли — коммуникатор.

Действительно, ранее смартфоном называли кнопочный телефон с полноценной многозадачной операционной системой, которая умеет выполнять нативные приложения (есть и исключения — например BlackBerry OS, почти полностью написанная на Java). За примерами далеко ходить не надо — легендарная Symbian, а до WM5.0, Microsoft выпускала отдельную редакцию Windows Mobile for Smartphone.

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

Будучи одним из самых важных партнеров Microsoft в сфере Windows CE, HTC не медлила и уже в 2002 году разработала и представила свой первый коммуникатор под кодовым именем Wallaby, а в 2003 году он поступил в продажу под именем QTek 1010, Siemens SX56 и O2 Xda. Стоил HTC Wallaby как крыло от Боинга: от 899 фунтов стерлингов или около 1348$ в 2003 году, а с учетом инфляции — ~2200$ в 2025 году...

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

Несмотря на огромный ценник, коммуникатор пользовался большим успехом среди гиков. Легендарный форум XDA-Developers изначально был посвящен именно O2 Xda и по сути именно с него началась история разработки кастомных прошивок на смартфоны.

Некоторое количество Wallaby ввезли и в Россию, мои экземпляры достались мне от читателя Андрея, за что ему огромное спасибо! Один из моих экземпляров не подавал никаких признаков жизни и скачав сервис-мануал, я принялся за ремонт...

❯ Что внутри?

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

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

В качестве сердца устройства, Wallaby использовал флагманский ARM-чипсет Intel SA-1110 2000 г.в, который берёт свои корни ещё с середины 90-х. В одном кристалле уместилось ARMv4-совместимое ядро, работающее на частоте 206МГц, контроллер SDRAM-памяти, PCMCIA-карт, дисплея, GPIO и множества шин общего назначения. При всём этом, чипсет изготавливался по техпроцессу 350нм — как первый Pentium и даже немного его обгонял (версии 133 и 166, 200 — уже на пару десятков баллов быстрее SA-1110).

Откуда у Intel ARM?

Здесь история забавная. В 1997 году, Intel судилась с DEC из-за нарушения патентных прав и дабы уладить спор, DEC продала своё подразделение StrongARM. Процессоры StrongARM базировались на своей микроархитектуре и были значительно быстрее сопоставимых ядер от самой ARM.

Например, ARM7TDMI (используемый в GBA, а также телефонах Motorola и многих других) работал на частоте до ~104МГц, в то время как SA работали на 208МГц и возможно также хорошо разгонялись, как и их последователи — XScale.

В 2002 году, Intel представила новую линейку — XScale, которая реализовывала набор инструкций ARMv5 и работала на частоте до 624МГц. Во всех флагманских коммуникаторах начала 2000-х стояли исключительно процессоры Intel PXA, они считались самыми производительными... пока в 2006 году Intel не продала XScale компании Marvell и не отказала Apple в разработке процессора для iPhone 2G.

Закончилось это тем, что Intel одумалась и выпустила Atom, который затем адаптировала для планшетов и смартфонов (например, Lenovo K900). Атомы отличались не самой плохой производительностью, но заметно грелись и не отличались низким энергопотреблением, поэтому в ~2016 году мобильную линейку Atom свернули. Досадно.

Рядом с процессором находится две «банки» оперативной памяти типа SDRAM общим объемом 64Мб, а также чип TRF6053 от Texas Instruments — предположительно, RF-фронтэнд или трансивер.

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

С верхней части платы расположился проприетарный чип от самой HTC, вероятнее всего это что-то типа контроллера питания или SMC. Предположительно чип занимается обработкой кнопки включения, управлением модулем зарядки, возможно выполняет роль аудиокодека, усилителя и контроллера тачскрина. Справа расположился Baseband-процессор HERCROM 200C от компании Texas Instruments — как раз та самая телефонная часть, которая обычно подключена к процессору через UART и определяется в системе как COM-порт. Рядом расположена небольшая флэшка на 4Мб с отдельной прошивкой для модема, а также отдельный контроллер питания TWL3011.

Если у вас есть 1010 с отвалом модема и очень хочется его восстановить — можно переставить КП и процессор из донорских плат для Sony CMD J, LG G1200, LG G1300 и Motorola T191.

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

С обратной стороны платы расположились два чипа NOR памяти по технологии StrataFlash от Intel общим объёмом в 64Мб, контроллер дисплея от Sony, остальные части GSM-радиотракта и большое количество самых разных маленьких чипов для логики!

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

Дисплей здесь производства Sony, выполненный по технологии TFT-TN с разрешением 240x320, диагональю 3.5" (как у первого iPhone), 12-битной глубиной пикселя (4096 цветов) и резистивным тачскрином. Сам дисплей довольно качественный, с неплохой цветопередачей, но малыми углами обзора из-за конструкции подсветки (скорее всего стоит лишь один рассеиватель). Для коммуникатора тех лет, дисплей был как... 4K OLED в наше время :)

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

Перейдем к ремонту: с обратной стороны коммуникатора виднеется 3 оголенных пина для зарядки аккумулятора от крэдла или «лягушки»!

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

АКБ здесь сделали несъемным аж за 5 лет до выхода iPhone, хотя при желании заменить его можно за пару минут: даже паять ничего не нужно. После расталкивания аккумулятора, коммуникатор всё так же не подавал признаков жизни. Открыв сервисман, я прочитал что помимо обычной кнопки Reset, в коммуникаторе есть вторая скрытая кнопка для аппаратного включения и отключения транзисторной защелки, которая отвечает за разрешение подачи питания на все остальные модули устройства. Это очень помогает сохранить ёмкость АКБ, если устройство нужно надолго отложить на полочку.

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

Нужные кнопки находятся в нижней части корпуса рядом с разъемом для синхронизации

После нажатия на кнопку, коммуникатор начал подавать признаки жизни и показал логотип Windows Mobile, а затем через 5 секунд отключился. Будучи фанатом всего, что работает на Windows CE, я сразу понял в чём проблема: в концевом выключателе!

Дело в том, что в HTC Wallaby за 5 лет до iPhone реализовали сим-лоток. Только для его открытия не нужна скрепка, достаточно лишь снять специальную крышку, которая нажимает на тот самый выключатель. Когда он размыкается — коммуникатор полностью отключается, дабы не «спалить» радиотракт в процессе горячей замены SIM-карты. У меня эта самая крышка была утеряна, поэтому я просто поставил перемычку:

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

И коммуникатор снова заработал! Несмотря на повреждения и немалый возраст, HTC Wallaby прошёл проверку временем и продолжает работать как ни в чем не бывало...

❯ Знакомимся поближе

HTC Wallaby производил впечатление не только своим конструктивом и используемым железом, но и ОС PocketPC 2002. В отличии от Symbian, для Windows Mobile писать программы было очень просто и, что самое важное, API системы был близок к десктопной версии системы. Если разработчик уже писал программу или игру для условной Windows 98 - он без особых проблем сможет её портировать и на WM!

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

Самый ближайший пример - мобильная Age Of Empires, порт полноценной RTS с ПК уже в 2002 году. А компания Astraware выпустила множество адаптаций популярных "шароварок" - например Bejeweled или Zuma.

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

Уже в 2002 году, HTC Wallaby мог сёрфить полноценный веб 2.0 через PocketIE. Никакого дорогущего WAP-трафика, никаких бедных на контент WML-страниц: хочешь почитать linux.org.ru со своего КПК? Пожалуйста, подключай GPRS и наслаждайся пусть и медленным, но зато полноценным интернетом!

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

Windows Mobile отлично поддавалась моддингу. Благодаря тому, что исходный код системы и SDK для сборки были свободно доступны в виде демки Platform Builder, энтузиасты быстро изучили формат образов nb0 и написали программы для работы с ними - так называемые кухни. Практически под каждый популярный коммуникатор выходили кастомные прошивки и далеко не всегда они состояли исключительно из патчей или полезного софта: энтузиасты портировали драйвера с других устройств и даже более свежие версии Windows Mobile на 5-6-7 летние коммуникаторы!

Как и десктопная система, Windows Mobile не налагал никаких ограничений на доступ к файловой системе. Хочешь закинуть исправленную dll в папку Windows (если dll была не XIP)? Пожалуйста, никакого рута или джейлбрейка не нужно. Нашел интересную программу или игру? Её даже устанавливать не нужно: можно просто закинуть .exe файл в любую папку и запустить прямо из проводника. Вот это была свобода!

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

Сейчас объём ОЗУ в 64Мб кажется смешным, но в те годы его более чем хватало! Даже на бюджетном коммуникаторе можно было одновременно запустить с десяток программ и все они работали параллельно и система не выгружала их сама. Никаких "скриншотов" в диспетчере задач как на iOS и Android! Но был и нюанс: в ранних версиях WinCE было жесткое ограничение на 32 процесса.

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

Чаще всего, WinCE хранила пользовательские данные в ОЗУ на специальном рамдиске (из за медленной NOR-памяти), поэтому к коммуникатору настоятельно рекомендовалось докупать флэшку. В стандартной конфигурации, пользователю доступно чуть меньше 32Мб ОЗУ для программ.

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

А ещё Windows Mobile отличался крутыми мультимедийными возможностями. Уже в стоке был установлен порт Windows Media Player, который распознавал многие форматы видео и аудио. При этом из коробки поддерживался mp3 с битрейтом 320Кбит/с, что было доступно далеко не каждому портативному устройству в те годы.

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

❯ Заключение

Вот так в далёком 2002 году, малоизвестный ODM-производитель HTC сделал смартфон, практически ни в чём не уступающий первому iPhone. Да и по правде сказать, не так уж и сильно он отличался от современного смартфона, ведь у владельца в кармане был полноценный портативных компьютер. И ведь устройство было не только функционально-богатым, но ещё и действительно прочным и надёжным... А как же он был продуман «под капотом»!

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

Именно HTC подарила нам первый Android-смартфон: T-Mobile G1 aka HTC Dream!

А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статью) можно найти на моём YouTube канале.

Очень важно! Разыскиваются девайсы для будущих статей!

Друзья! Для подготовки статей с разработкой самопальных игрушек под необычные устройства, объявляется розыск телефонов и консолей! В 2000-х годах, китайцы часто делали дешевые телефоны с игровым уклоном — обычно у них было подобие геймпада (джойстика) или хотя бы две кнопки с верхней части устройства, выполняющие функцию A/B, а также предустановлены эмуляторы NES/Sega. Фишка в том, что на таких телефонах можно выполнять нативный код и портировать на них новые эмуляторы, чем я и хочу заняться и написать об этом подробную статью и записать видео! Если у вас есть телефон подобного формата и вы готовы его задонатить или продать, пожалуйста напишите мне в Telegram (@monobogdan) или в комментарии. Также интересуют смартфоны-консоли на Android (на рынке РФ точно была Func Much-01), там будет контент чуточку другого формата :)

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

А также я ищу старые (2010-2014) подделки на брендовые смартфоны Samsung, Apple и т. п. Они зачастую работают на весьма интересных чипсетах и поддаются хорошему моддингу, парочку статей уже вышло, но у меня ещё есть идеи по их моддингу! Также может у кого-то остались самые первые смартфоны Xiaomi (серии Mi), Meizu (ещё на Exynos) или телефоны Motorola на Linux (например, EM30, RAZR V8, ROKR Z6, ROKR E2, ROKR E5, ZINE ZN5 и т. п., о них я хотел бы подготовить специальную статью и видео т. к. на самом деле они работали на очень мощных для своих лет процессорах, поддавались серьезному моддингу и были способны запустить даже Quake!). Всем большое спасибо за донаты!

Устройства, которые мы потеряли: Что за железо внутри первого коммуникатора от HTC, опередившего iPhone на 5 лет? Смартфон, Гаджеты, Кпк, Windows Mobile, Windows, iPhone, Ретроспектива, Обзор, Железо, Intel, Гик, Длиннопост

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

Показать полностью 21
[моё] Смартфон Гаджеты Кпк Windows Mobile Windows iPhone Ретроспектива Обзор Железо Intel Гик Длиннопост
139
SiberianStories
SiberianStories
6 месяцев назад

Как настроить свой компьютер на оптимальную производительность? Инструкция для новичков⁠⁠

Как настроить свой компьютер на оптимальную производительность? Инструкция для новичков Компьютерная помощь, Видеокарта, Windows, Компьютер, Компьютерная графика, Компьютерное железо, Настройки, Игровой ПК, Сборка компьютера, Железо, FPS, Длиннопост

Всех приветствую! Хотелось бы поделиться своими наблюдениями и практическими навыками настройки ПК для повышения производительности. За свою жизнь я собрал немало компьютеров, как для продажи, так и для себя, перепробовал много способов оптимизации и что-то оказалось, действительно, действенным, а что-то дало эффект лишь на уровне плацебо. Итак, к сути.

Для начала характеристики моего ПК: Intel core I5 10400F, 2080, 32 GB ОЗУ DDR 4, 2 SSD и 1 HDD диска, Full HD монитор.

Рекомендуется для начала сделать точку восстановления, чтобы в случае чего можно было откатиться обратно.

1. Измените план электропитания.

Панель управления-электропитание-высокая производительность.

Как настроить свой компьютер на оптимальную производительность? Инструкция для новичков Компьютерная помощь, Видеокарта, Windows, Компьютер, Компьютерная графика, Компьютерное железо, Настройки, Игровой ПК, Сборка компьютера, Железо, FPS, Длиннопост

2. Отключите лишнее в автозагрузках.

Ctrl+alt+del - автозагрузка

Как настроить свой компьютер на оптимальную производительность? Инструкция для новичков Компьютерная помощь, Видеокарта, Windows, Компьютер, Компьютерная графика, Компьютерное железо, Настройки, Игровой ПК, Сборка компьютера, Железо, FPS, Длиннопост

3. Обновите драйвер видеокарты и настройте панель управления.

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

Заходим на сайт производителя своей видеокарты, находим модель своей карточки, скачиваем свежий драйвер.

Как настроить свой компьютер на оптимальную производительность? Инструкция для новичков Компьютерная помощь, Видеокарта, Windows, Компьютер, Компьютерная графика, Компьютерное железо, Настройки, Игровой ПК, Сборка компьютера, Железо, FPS, Длиннопост
Как настроить свой компьютер на оптимальную производительность? Инструкция для новичков Компьютерная помощь, Видеокарта, Windows, Компьютер, Компьютерная графика, Компьютерное железо, Настройки, Игровой ПК, Сборка компьютера, Железо, FPS, Длиннопост

Для игр рекомендуется именно версия Game Ready, хотя разница со Studio небольшая.

После установки драйвера заходим в панель управления Nvidia (если у вас карточка от зеленых). Если панели нет, то ее можно скачать в Microsoft Store абсолютно бесплатно.

Здесь нам понадобятся несколько пунктов:

  • ГП рендеринга OpenGL- выбираем свою видеокарточку

  • Потоковая оптимизация- вкл или авто

  • Режим управления энергопитанием- предпочтителен режим макс.производительности

Как настроить свой компьютер на оптимальную производительность? Инструкция для новичков Компьютерная помощь, Видеокарта, Windows, Компьютер, Компьютерная графика, Компьютерное железо, Настройки, Игровой ПК, Сборка компьютера, Железо, FPS, Длиннопост

4. Проверьте включенные службы.

  • Панель управления- администратирование-службы.

Отключаем (правой кнопкой на службу, свойства, тип запуска "отключена", применить):

Центр обновления Windows-любит невовремя поискать обновления

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

Windows Search- индексирует данные на диске. Если особо не пользуетесь поиском, отключайте.

5. Настройка файла подкачки.

  • Мой компьютер-свойства-доп.параметры системы-быстродействие (параметры)-дополнительно-виртуальная память (изменить).

Как настроить свой компьютер на оптимальную производительность? Инструкция для новичков Компьютерная помощь, Видеокарта, Windows, Компьютер, Компьютерная графика, Компьютерное железо, Настройки, Игровой ПК, Сборка компьютера, Железо, FPS, Длиннопост

Опытным путем выяснил, что файл подкачки не нужен при количестве оперативной памяти от 32 ГБ. (Если вы не используете 4к разрешение или тяжелые графические приложения). В таком случае можете его отключить, в обратном же случае, выставьте исходный и максимальный размер от 1024 мб, в зависимости от ваших нагрузок.

Многие советуют не отключать файл подкачки, якобы возможны ошибки и вылеты. Если боитесь ошибок, то можете поставить размер в 16 кб (исходный и минимальный, это все при оперативке в размере от 32 ГБ!)

При количестве оперативной памяти меньше 32 ГБ, рекомендуется сделать следующее:

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

Размер следующий:

При оперативной памяти:

4 гб- 32 768 МБ

8 гб- 16 384

16 гб- 8 192

32 гб- отключен.

6. Если не пользуетесь поиском в системе, можете отключить индексацию на дисках.

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

Как настроить свой компьютер на оптимальную производительность? Инструкция для новичков Компьютерная помощь, Видеокарта, Windows, Компьютер, Компьютерная графика, Компьютерное железо, Настройки, Игровой ПК, Сборка компьютера, Железо, FPS, Длиннопост

Еще полезные советы:

Для новичков:

  • Держите ПК в чистоте как внутри (в системе) так и снаружи (корпус), не забывайте следить за количеством свободной памяти на дисках (на системном диске должно быть свободно минимум 20-25 ГБ).

  • Проверяйте ПК антивирусом. Можно или установить лайт версию антивируса или переодически, при грамотном использовании, проверять одноразовым антивирусом, по типу dr.Web. (Предварительно не забудьте отключить встроенный антивирус)

  • Не открывайте много приложений/вкладок браузера одновременно, при малом количестве ОЗУ.

  • Проводите дефрагментацию HDD и оптимизацию SSD время от времени, примерно 1-2 раза в месяц.

  • Из полезных "чистилок" могу рекомендовать CCleaner. Но в целом многие "оптимизаторы" несут больше вреда, чем пользы. Хватит и системных возможностей.

  • Рекомендуется "прошерстить" настройки ПК, в частности раздел "Конфендициальность" и отключить многие параметры. В целом вы сами сможете понять, нужно ли вам это и в случае если вы чем-то не пользуетесь- отключить.

Как настроить свой компьютер на оптимальную производительность? Инструкция для новичков Компьютерная помощь, Видеокарта, Windows, Компьютер, Компьютерная графика, Компьютерное железо, Настройки, Игровой ПК, Сборка компьютера, Железо, FPS, Длиннопост

Для более опытных пользователей:

  • В Биосе выставьте частоту оперативной памяти, проверьте возможен ли разгон (можно почитать у производителя или на спец.форумах). Для примера, моя оперативная память (ddr4, 3200 МГц, 16(CL)-20-20), работает на 3600 Мгц, с таймингами 18-20-20)

Пишите ваши вопросы в комментариях,постараюсь помочь.

Желаю вам большого фпс:)

Показать полностью 9
[моё] Компьютерная помощь Видеокарта Windows Компьютер Компьютерная графика Компьютерное железо Настройки Игровой ПК Сборка компьютера Железо FPS Длиннопост
41
20
Timeweb.Cloud
Timeweb.Cloud
1 год назад
GNU/Linux
Серия IT

Спасти Linux⁠⁠

  • Автор текста: Cheapskate

  • Автор перевода: Albert_Wesker

Спасти Linux Linux, Железо, Timeweb, Перевод, Windows, Компьютер, Познавательно, Длиннопост, YouTube (ссылка)

Некоторое время назад я написал статью, в которой критически высказался о Linux-разработчиках, не желающих поддерживать дистрибутив, если он предназначен для работы на компьютерах, которым более 15 лет. За это я получил немало критики от читателей с Hacker News. Кто-то указывал, что я не понимаю, насколько же это сложно – создать и поддерживать дистрибутив Linux. Были и такие, кто советовали мне просто накатить на старый компьютер старую версию Windows. Я же начал пользоваться Linux в первую очередь для избегания Windows, так как считал её монструозным порождением Билла Гейтса. Фактически, разработчики операционной системы, ранее обещавшие освободить меня от Windows, теперь склоняют меня вернуться к Windows, как только мой компьютер настолько состарится, что им станет неудобно его поддерживать. Ответы, которые я получаю от Linux-разработчиков, явно свидетельствуют, что Linux больше не является операционной системы для технарей-компьютерщиков, желающих сохранить на ходу свои любимые винтажные машины. Напротив, Linux превратился в операционную систему, которую разработчик рассматривает как средство для прокачки карьеры. Те, кому интересно подробнее разобраться в нарастающей дисфункциональности Linux и узнать, почему сложилась такая ситуация, могут посмотреть это видео на YouTube.

Некоторые разработчики советовали мне собрать собственный дистрибутив Linux. Хотел бы я! К сожалению, по паре причин этот вопрос не обсуждается. Во-первых, у меня просто нет на это времени. Слишком много времени у меня уходит на работу по поддержке моих сообществ Cheapskate's Guide и Blue Dwarf. Во-вторых, даже если бы я взялся за создание собственного дистрибутива, то получился бы ISO-образ размером более 1 гигабайта и с репозиторием на десятки гигабайт, а такой крупный софт я просто не мог бы выложить в общее пользование, так как мне было бы слишком дорого передать все эти данные.

Учитывая, что немного найдётся Linux-разработчиков, готовых поддерживать старые версии своих дистрибутивов в рабочем состоянии, единственный разумный с моей точки зрения выход – сохранить мои любимые дистрибутивы на будущее. К счастью, я сохраняю ISO-образы Linux, которым более 15 лет. Сейчас у меня есть резервные жёсткие диски с самыми разнообразными дистрибутивами. Вот неполный список: AntiX 19.4, AntiX 22, AntiX 23, Arch Linux 2020.09.01, Debian 11.3, Debian 11.1.0 Server, DSL 4.4.10, версии 1.2 и 4.4.9 со встроенными DSL, Kali Linux 2022.2, Kodachi Linux 8.15, LibreELEC 8.2, Mint 9, Mint 13, Mint 17, Lubuntu 22.04, MV Linux 21.1, Nano Linux 1.3, OpenElec 8.0.4, OpenWRT 19.07.7 обобщённый, Parrot OS 4.11.3, Parrot OS 5.3, PirateBox, Noobs v2_4_5, OSMC_TGT_rbp2_20190424, Raspberry Pi Buster 2020-05-27, Raspberry Pi Buster Lite 2020-05-27, Raspios Bullseye 2023-5-03, Raspian Buster 2019-07-10, Raspbian Jessie 2017-07-05, Raspbian Stretch 2017-11-29, TAILS 2.2.1, TAILS 4.5, Zenlive Linux 7.0 и Zorin 9 Lite. Большинство из этих версий в Интернете уже не найти. Если бы не моя предусмотрительность, то и у меня не было бы к ним доступа. Для большинства пользователей кроме меня они навсегда утрачены.

Со всеми вышеупомянутыми ISO-образами Linux существует важная проблема: в них содержатся только такие приложения, которые поставляются в виде ISO-файлов. Зачастую в них нет программ для чтения RSS-лент, браузера Lynx, PHP, веб-серверов, nmap, bleachbit, cowsay и fortune, truecrypt или Veracrypt, Unetbootin, macchanger, espeak, hwinfo, cpulimit, thermald, calibre, fbreader, браузера Dillo, браузера Vivaldi, libdvdread4, libdvd-pkg, libdvdnav4, загрузчика yt (теперь yt-dlp), почтового клиента Alpine, pulseaudio и многих других, от которых бы я не отказался. Многие из этих пакетов и сопутствующие им зависимости содержатся в репозиториях вышеупомянутых дистрибутивов. К сожалению, по прошествии многих лет установить их нельзя, поскольку многие репозитории теперь просто не существуют! Также можете не рассчитывать найти многие из библиотек, от которых зависят старые версии этих приложений для Linux.

Очевидное решение – скачивать и сохранять не только ISO-образ каждого дистрибутива Linux, но и его репозитории. Да, это осуществимо, и в Интернете можно найти множество статей, в которых объясняется, как скопировать репозиторий. Но сам процесс скачивания и хранения файлов на десятки гигабайт на множестве резервных жёстких дисков для каждого дистрибутива порой утомляет, особенно, если приходится делать это годами и учитывать такие факторы, как гниение бит и плановые обновления винчестеров.

Теперь, когда многие из моих старых ПК слишком устарели для современного Linux, мне приходится серьёзнее относиться к информации и сохранять не только базовые ISO-образы Linux, но и дополнительные файлы. Немного поразмыслив, я решил пойти по компромиссному пути, между двумя крайностями «сохранять только ISO-образ» и «сохранять ISO и все связанные с ним репозитории». Итак, пока такая возможность ещё не утрачена, я решил сохранять хотя бы по одной версии дистрибутива Linux плюс дополнительные пакеты к нему. Очевидный вариант – а в настоящее время, вероятно, и единственный – работать с AntiX Linux. Я не особенно переживаю за AntiX, поскольку багов в нём хватает. Кроме того, он работает несколько иначе, нежели другие Debian-подобные дистрибутивы. Вероятно, дело в том, что он использует легковесные среды для рабочего стола, в частности, IceWm. Они довольно старые и никогда не стандартизировались до такой степени, до какой принято доводить более современные окружения. К сожалению, не знаю ни одного другого до сих пор поддерживаемого дистрибутива, который бы нормально работал на компьютерах от двадцати лет и старше. Я пробовал несколько «легковесных» дистрибутивов и убеждался, что они просто кишат багами, и пользоваться ими на компьютерах старше 15 лет решительно невозможно.

❯ Устанавливаем AntiX


Я скачал ISO-образ AntiX-23_386_full.iso современной версии AntiX со страницы загрузки AntiX. Это самая «полная» версия, в которой содержится больше всего приложений для работы на ПК. Это 32-битная версия. Кстати, немного найдётся таких Linux-разработчиков, которые до сих пор предоставляют 32-битные версии своих дистрибутивов. Пожалуйста, не надо мне доказывать, что 32-битную версию любого дистрибутива Linux вполне можно скомпилировать из исходного кода. Я не раз безуспешно пытался скомпилировать таким образом хотя бы единичное приложение, поэтому на собственном опыте знаю, насколько маловероятно преуспеть с таким подходом.

Попытался установить AntiX из скачанного ISO-файла на мой компьютер fDell Precision M20, 2004 года выпуска. Эта машина может похвастаться ЦП Pentium M (Centrino) с частотой 1,86 ГГц и 2 ГБ ОЗУ (это для неё максимум). Этот компьютер я купил в 2019 году на барахолке за 20 долларов. Даже если вы совсем новичок в Linux, вам не составит труда установить AntiX, так как установщик в нём включён. К сожалению, я неоднократно и безуспешно пытался поставить его на «жёсткий диск» Precision M20 (за громким названием скрывается карта памяти microSD с адаптером IDE-to-microSD). Всякий раз казалось, будто установка прошла успешно. Я даже проверял систему при помощи Gparted, убеждаясь, что раздел диска действительно создан, с него можно загрузиться, и в него записываются данные. Потом перезагружаюсь – и никакого раздела нет! Короче говоря, мне не удавалось установить на этот компьютер ни одну из версий AntiX, ни 19.4, ни 23, ни через установщик с GUI, ни через командную строку. Теряюсь в догадках, но, возможно, что-то не так с самой microSD-картой или адаптером, поэтому установка и не выходит. Ранее я уже поднимал проблему некачественных установщиков Linux, поэтому здесь не стану снова в неё углубляться.

Поскольку мои первые попытки установить AntiX на Precision M20 успехом не увенчались, я решил повторить попытку на ноутбуке с обычным твердотельным жёстким диском SATA. Для начала установил компактный твердотельный диск SATA в мой ноутбук Lenovo Thinkpad T500, модель 2008 года, воспользовался при этом утилитой для установки AntiX через командную строку. AntiX установился! К сожалению, по-видимому, мне не удалось бы таким способом установить сверх одного-двух дополнительных пакетов при помощи команды «apt-get install» (уверен, что сначала я выполнил «sudo apt-get update»). В AntiX на этой машине проявлялись и другие неприятные баги, поэтому я подумал, что лучше воспользуюсь другим дистрибутивом Linux.

Несмотря на все эти неудачи, я не отступал. Попытался установить AntiX 23 на ноутбук Dell Inspiron 5100, модель 2002 года, с жёстким диском IDE на 40 ГБ и с 256 МБ ОЗУ. Это самый старый из имеющихся у меня действующих компьютеров. Установщик потребовал, чтобы я выделил ему весь жёсткий диск, но AntiX всё-таки встал. Затем, чтобы сэкономить место, я ужал сегмент с AntiX до 14 ГБ. Для этого я воспользовался Gparted на загрузочной флешке с AntiX, так как Gparted не может ужать сегмент, используемый в настоящий момент. Держал в уме, что нужно сделать перманентную резервную копию этого сегмента и потом попробовать устанавливать её на другие старые компьютеры. Непосредственно после установки дистрибутив занимал около 5 ГБ дискового пространства. Я обновил получившуюся конфигурацию при помощи «sudo apt-get update», а потом приступил к установке дополнительных пакетов.

❯ Добавляем пакеты Linux в AntiX


Как решить, какие именно пакеты Linux устанавливать? Если у вас есть рассчитанные на работу под Linux копии приложений, не содержащие зависимостей, то, теоретически, их можно установить в любой момент (хотя, чтобы максимально перестраховаться, можете поставить их сразу же). Важно установить именно те пакеты Linux, у которых есть по несколько зависимостей, ведущих в репозитории. В данном случае у вас возникает такая дилемма: требуется установить те приложения, которые могут вам понадобиться не только в ближайшем будущем, но, вероятно, и через 10, и через 20 лет. Конечно, непросто сходу определить, что это за приложения. Но можете попробовать установить по одному-два приложения всех основных типов: браузер, читалка для электронных книг, агрегатор новостных лент, офисный пакет, утилиты, т.д.

В качестве первой попытки я установил при помощи «sudo apt-get install» следующие дополнительные пакеты себе на Inspiron 5100:

  • nmap

  • ftp

  • tcpdump

  • iotop

  • nethogs

  • cowsay

  • fortune

  • macchanger

  • bleachbit

  • lynx

  • liferea

  • gedit

  • thermald

  • goldendict

  • mplayer

  • smplayer

  • aspell

  • fbi

  • w3m

  • seamonkey

Установив вышеперечисленные пакеты, я убедился, что все они сохранены на жёстком диске в каталоге /var/cache/apt/archives в формате ".deb". Кроме того, посмотрел с DVD кино через Smplayer. Шло медленно, но работало. С огромными проблемами установил библиотеки, необходимые для просмотра DVD-фильма в ОС Parrot 4.11 и выше. Очевидно, разработчик Parrot OS считает, что больше никто уже не смотрит фильмы с DVD.

Всякий раз при установке дополнительных пакетов в любой дистрибутив Linux, вы рискуете его дестабилизировать. Я не обнаружил никакой явной рассогласованности в работе того AntiX, который сам и установил, но, чтобы с уверенностью полагать, что всё прошло нормально, дистрибутив нужно тестировать неделю или более. Чтобы сохранить эту вполне работоспособную конфигурацию AntiX, я сделал резервную копию 14-гигабайтного сегмента и сохранил её на внешнем диске.

Затем я попытался установить следующие приложения, входящие в оборудованный графическим интерфейсом установщик пакетов для AntiX:

  • pulseaudio

  • Audacious

  • GIMP Basic

  • ImageMagick

  • Handbrake

  • Adobe Reader

  • xfce4-screenshot

  • VLC

Adobe Reader не установился, предположительно, потому, что для него не выполнялись две зависимости, которые мне не удалось подтянуть. Audacious не заработал. Когда я попытался проиграть в Smplayer и VLC фильм с DVD и MP4-файл, ни в одном из четырёх вариантов не было звука, в обеих программах ролики шли очень медленно, а в конце концов зависали. Позже мне удалось заставить VLC зазвучать, но всё равно ни одно из двух этих приложений не стало работать хотя бы так же гладко, как работал Smplayer до установки последнего набора программ. Я даже пытался нарастить ОЗУ на 750 МБ, но это проблем не решило. Я решил перенести резервную 14-гигабайтную копию AntiX на Inspiron 5100, вернувшись таким образом на более работоспособную машину. Пока мне кажется, что чем меньше приложений установлено, тем стабильнее работает вся система, а мне было бы предпочтительнее рассчитывать на уверенное воспроизведение видео, пусть и ценой отказа от некоторых приложений.

Есть два способа перенести файлы ".deb" в каталог /var/cache/apt/archives на другой компьютер, где установлен новый экземпляр AntiX. Первым делом нужно сделать резервные копии всех файлов ".deb", дополнительно к ISO-образу системы AntiX. Затем можно попытаться установить ISO на новый компьютер, скопировав файлы ".deb" в каталог /var/cache/apt/archives на новом компьютере, а затем установив их при помощи «apt-get install». Второй вариант – просто создать файл ".img" и записать в него весь сегмент с AntiX плюс дополнительные пакеты, а затем всё это скопировать на новый компьютер.

Как только я пошёл по первому пути, нарисовалась очевидная проблема. По какой-то причине «apt-get install» не понимала, какие ".deb"-файлы из каталога /var/cache/apt/archives от каких зависят. Не знала, в каком порядке их нужно устанавливать, если только они не лежат в репозитории. Подозреваю, что команда «gdebi -i» может устанавливать отдельно взятые пакеты с зависимостями, а команда «dpkg --unpack» – устанавливать пакеты безотносительно их зависимостей. Но у меня ни с одной ничего не получилось. Путь, на первый взгляд показавшийся простым как с точки зрения установки, так и относительно хранения дополнительных пакетов, не входящих в ISO-образ AntiX, на практике вышел более тернистым.

Таким образом, немного потрепав себе нервы за исследованием первого подхода, я осознал, что не представляю, как методично устанавливать файлы ".deb" в каталог /var/cache/apt/archives. Поэтому решил попробовать второй подход.

Второй подход выглядел так:

  1. Установить AntiX в небольшой сегмент на жёстком диске компьютера (напомню, после установки этот сегмент можно ужать при помощи Gparted);

  2. При помощи «sudo apt-get install» установить любые дополнительные пакеты на мой вкус;

  3. Сделать файл-образ небольшого сегмента (допустим, 14 ГБ) и вынести его на флешку командой «sudo dd if=/dev/sda of=/media/user/usb/AntiX_installed_with_extra_packages.img bs=1M count=14812 conv=notrunc, noerror» (обратите внимание: здесь используется /dev/sda, а не /dev/sda1);

  4. Запустить другой компьютер с загрузочной флешки с Linux, а уже в него вставить флешку, на которой содержится копия только что изготовленного мною образа AntiX;

  5. Скопировать образ AntiX на жёсткий диск нового компьютера при помощи «sudo dd if=/media/user/usb/AntiX_installed_with_extra_packages.img of=/dev/sda bs=1M conv=notrunc,noerror», и, наконец;

  6. Молиться, чтобы конфигурационный файл grub заработал на новом компьютере.

На этапе 3 я воспользовался «count=14812», чтобы скопировать первые 14,5 ГБ с жёсткого диска. Это я сделал лишь чтобы удостовериться, что у меня будет скопирована и главная загрузочная запись, на случай, если её не окажется в сегменте sda1. Если конфигурационный файл grub не заработает на новом компьютере, то придётся поразмыслить, как изменить его, чтобы загрузка прошла. Обратите внимание: я скопировал на новый компьютер лишь 14-гигабайтный сегмент sda1, но в какой-то момент его загрузочная последовательность оборвалась, поэтому и потребовалось указать «count=14812».

Именно вторым способом мне удалось перенести установленный AntiX с компьютера Dell Inspiron 5100 на модели Emachines KAV60 и Compaq Presario V5000. Оба раза всё получилось, даже не пришлось вносить изменений в файл grub.cfg. После того, какую огромную фрустрацию доставил мне первый способ, успех в данном случае практически сподобил меня простить разработчиков Linux и AntiX в частности, хотя, согласитесь, они сделали очень хрупкую операционную систему. Как говорится, осадочек остался.

Если кому-то из вас придётся работать со старым дистрибутивом, обязательно учитывайте эти риски. Конечно же, может быть опасно бороздить Интернет на таком старом софте. Может быть, воспользуйтесь Gemini или другой оверлейной сетью, которая пока не кишит подозрительными личностями (интересно, а существуют ли ещё такие сети?). Может быть, отключите JavaScript в браузере, и такой защиты будет достаточно? Ещё лучше было бы выделить старый компьютер строго для путешествий по Интернету, а на другом компьютере хранить исключительно личные данные. Также работает подход с использованием нескольких загрузочных USB-флешек на одном старом компьютере. Любая старая версия любого дистрибутива Linux отлично подойдёт для оффлайновой работы. В самом деле, а есть ли более удобные варианты для старого компьютера, на котором современный дистрибутив Linux? Может быть, Windows? Нет, я не враг моим старым компьютерам!

❯ Заключение

Ни в коем случае не утверждаю, что вышеописанный метод спасения старых версий любимых дистрибутивов Linux идеален (то же касается любых других операционных систем, которые вы хотели бы запустить на старом компьютере). Может быть, читатели предложат способ получше. Но я думаю, так лучше, чем довольствоваться лишь теми приложениями, которые оказались в конкретном образе, либо пробовать копировать целые репозитории (и эти резервные копии тоже копировать), а затем пытаться хранить их десятилетиями. Если бы мы только могли рассчитывать, что разработчики Linux сделают это за нас. Но они не сделают.

Спасти Linux Linux, Железо, Timeweb, Перевод, Windows, Компьютер, Познавательно, Длиннопост, YouTube (ссылка)
  • Облачные сервисы Timeweb Cloud — это реферальная ссылка, которая может помочь поддержать наши проекты.

  • Подпишись на наш блог на Пикабу и Хабре, чтобы не пропустить новые интересные статьи.

Показать полностью 2
Linux Железо Timeweb Перевод Windows Компьютер Познавательно Длиннопост YouTube (ссылка)
14
595
monobogdan
monobogdan
1 год назад
TECHNO BROTHER

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах?⁠⁠

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Моддинг девайсов — тема очень широкая и невероятно интересная. При желании, чего только не сделаешь со своим любимым устройством: можно кастомизировать и преобразить интерфейс девайса, портировать свежую версию системы, прошить ядро с разгоном ЦПУ… Однако помимо программного моддинга, существует и аппаратный: умельцы умудряются наращивать объем ОЗУ и постоянной памяти, менять дисплеи на более качественные и даже добавлять поддержку беспроводной зарядки/квикчарджа! Предлагаю вам взглянуть на относительно редкую, дорогую, но такую желаемую в нулевых модификацию: наращивание ОЗУ на КПК аж в два раза! Сегодня мы с вами: узнаем предысторию моддинга телефонов в нулевых, самостоятельно перепаяем чипы ОЗУ на модули большего объёма, а также разберемся в программной стороне этого вопроса. Интересно? Тогда добро пожаловать под кат!

❯ Предыстория


Пожалуй, КПК и коммуникаторы на Windows Mobile можно назвать одними из самых интересных девайсов из середины нулевых годов. Пока подавляющее число пользователей только-только пересело на кнопочные телефоны с цветными дисплеями и поддержкой WAP-интернета, владельцы КПК носили в кармане полноценный компьютер, который мог выполнять многие задачи своего «большого брата». Сёрфинг полноценного Web 2.0 интернета, редактирование и просмотр документов, прослушивание музыки и воспроизведение видео и конечно-же игры — для портативного девайса в середине нулевых это было очень круто!

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

i-Mate jasjar

Характеристики КПК были практически идентичными на всех устройствах: большинство девайсов работало на базе ARMv5 процессоров Intel PXA 27x с частотой 400-600МГц, Samsung S3C6410 ~400МГц, а также TI OMAP 850 на частоте ~200МГц, оснащались ~64Мб встроенной Flash-памяти и 64-128Мб оперативной памяти SDRAM. Самым ценным ресурсом была оперативная память: большинство устройств на базе PocketPC 2003 так или иначе не могли использовать встроенную Flash-памяти для хранения пользовательских данных. Девайсы с 128Мб ОЗУ ценились гораздо выше более доступных устройств с 64Мб ОЗУ.

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Происходило это из-за того, что Flash-память в те годы была слишком медленной, что негативно сказывалось бы на производительности всей системы. Поэтому производители устройств пошли на хитрый шаг: они решили использовать некоторый объём ОЗУ в качестве диска для пользовательских данных, а дабы пользователь не потерял важные ему файлы при, например, замене аккумулятора, они реализовали схему отдельного запитывания модуля обновления DRAM от резервной батарейки.

Динамическая RAM устроена так, что требует процедуру регулярного обновления (термин называется RAM refresh) данных во всей банке памяти в определенные промежутки времени. Упрощенно эта процедура выглядит так: контроллер памяти в чипсете вычитывает информацию из каждой банки, а затем записывает обратно, благодаря чему информация в банке памяти не теряется. Именно для этого контроллеру ОЗУ необходимы настройки таймингов, а также для процесса, именуемый «тренировкой памяти».

Поэтому в Windows Mobile был предусмотрен отдельный «бегунок», отвечающий за объём памяти, выделенный для программ и для пользовательских данных. Хочешь запустить одновременно TouchFlo, Скайп, Аську, PocketIE и гонять в фоне музыку? Готовься переносить фотографии любимого кота на SD-флэшку и тянуть бегунок в сторону программной памяти! По умолчанию, система выделяла около 32Мб памяти под пользовательские данные и остальные 32Мб под программы. Пользователь мог выделить до ~48Мб ОЗУ для программ, чего действительно хватало для параллельной работы нескольких относительно тяжелых программ в фоне!

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Однако КПК на «винде» — отнюдь не современные устройства на Android и iOS и сами программы без крайней необходимости из памяти не выгружают. В iOS и Android практикуются «скриншоты» программ, когда в диспетчере задач мы видим сохраненное состояние приложения, но по тапу приложение снова запускается и быстренько восстанавливается из ранее сохраненного состояния. Поэтому, если в устройстве заканчивалась память для программ, уже открытые приложения могли крашиться, а новые не запускаться из-за слишком малого объёма свободной ОЗУ.

Устройства на WinMobile замечательно поддавались моддингу: некоторые энтузиасты портировали более свежие версии системы, другие выпускали собственные сборки системы, подчищенные от ненужных, по их мнению, программ, дабы освободить ещё немного ОЗУ под собственные приложения. Программный моддинг был очень развит: вспомнить только «кухни» — специальные наборы программ для модификации прошивок устройств и целые ветки на форуме 4pda, где обсуждалось добавление нового функционала в девайс. Чего-уж говорить, я сам год назад добавлял поддержку Direct3D Mobile в WM2003 и подкидывал софтварный рендерер от Intel в устройство на OMAP850!

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Год назад я за пару дней запилил «тридэ» леталку, использующую D3DM — софтварный рендерер в Windows Mobile.

Однако другое дело — это аппаратный моддинг, связанный с физическим вмешательством в плату устройства. Самым частым модом была замена вечно ломающегося концевого выключателя (маленький рычажок, который прижимает задняя крышка устройства. Без него девайс чаще всего не включался) на обычную перемычку, дабы девайс не подвёл в самые ответственные моменты. Другой мод — перепаковка аккумуляторов для увеличения его ёмкости. Были ещё и другие, специфические модификации — насколько я знаю, на некоторых коммуникаторах Rover радиомодуль частенько «отваливался», а девайс уходил в белый экран. Радиомодуль либо выпаивали, либо грели (а то и перекатывали), дабы он ещё поработал какое-то время. Однако самым редким, дорогим и желанным многими модом было увеличение объёма ОЗУ! Данная процедура довольно простая, однако проводилась чаще всего в мастерских: старые чипы памяти выпаивались, а на их замену припаивались новые, большего объёма. На словах все просто, однако на деле далеко не каждый мог провести такую процедуру дома: необходимо было купить чипы памяти (которые стоили около 500 рублей за один), а сами они были в корпусе BGA и для пайки необходим был паяльный фен (на строительный тоже можно было посадить — но рискованнее) и адекватный флюс для BGA (хотя я слышал истории, как мастера в нулевых сажали чипы «на пузо» чуть ли не на таблетке аспирина).

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Как видите, цена на работу в СЦ была не менее 3.000 рублей, время работы — полчаса-час. Теперь вспомните, что в некоторых регионах зарплата была около 6-7 тысяч рублей в месяц… вот так вот :)

Недавно я и сам заинтересовался таким видом моддинга и решил повторить опыт умельцев из нулевых: мне удалось найти НОВЫЕ (не реклама, это единственный магазин где можно купить эти чипы в РФ) чипы памяти в блистере по 100 рублей за штучку. Давайте же проапгрейдим легендарный коммуникатор своих лет — QTek S100 aka O2 Xda Mini II aka MDA Compact!

❯ Апгрейдим


Подобному апгрейду поддаются далеко не все девайсы. К сожалению, фактически проапгрейдить можно устройства только на базе чипсетов Intel PXA, например Asus P525/550, ранние HTC и многие HP iPaq. Устройства на базе Samsung S3C6410 имеют 64Мб ОЗУ прямо на одной подложке с чипом без площадок под дополнительную память на плате, а про устройства на OMAP 850 известно мало: скорее всего, чип не поддерживает возможность использования сразу четырех банок памяти одновременно.

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Этого красавца проапгрейдить не выйдет :(

Изначально с завода, на большинстве устройств с чипсетом PXA используется два чипа мобильной SDRAM памяти типа HYB25L256160AC, производства Infineon, в корпусе BGA, по 32Мб каждый. Однако существует 64Мб версия того же чипа с идентичной распиновкой, где в одном чипе расположилось сразу две банки памяти, по 32Мб каждая. По итогу нам остается только сдуть старые чипы с помощью фена, почистить посадочные площадки от остатков старых шаров и установить новые чипы памяти с помощью всё того же фена. Давайте приступим!

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Я купил свой QTek S100 два года назад в состоянии «как из помойки», всего за 100 рублей. Без шуток, возможно продавец действительно посещал свалки и потом продавал по дешевке различные интересные девайсы! Лично для меня в этом нет ничего брезгливого: корпус помыть с мылом, плату почистить спиртом и вот — крутейший девайс снова в рабочем состоянии и вполне чистенький :)
Аккумулятора у меня не было вообще и найти донора под перепаковку я даже не надеялся, поэтому запитывал девайс от BL-4C.

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube
Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Разбираем девайс и видим плату с защитным экраном над процессором и ОЗУ. Сам экран съёмный, выпаивать его не нужно, но дабы аккуратно выпаять чипы памяти и не сдуть обвязку, придётся удалить лезвием «перекладину» на экране.

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

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

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Я сначала не думал пилить контент об апгрейде памяти, поэтому фоточка совсем всратая :( Извините

Зачищаем площадку от старых шаров с помощью паяльника на 350гр и оплетки. Впрочем, шары достаточно большие — можно просто покатать шарик припоя и собрать излишки на паяльник, идеально ровно зачищать их не нужно.

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

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

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Но девайс не увидит всей ОЗУ, если не поставить резистор номиналом ~0.33Ом на линию CS1 - именно она отвечает за выбор второй банки в одном чипе памяти. Можно попробовать и просто перемычку поставить, но я не гарантирую результат.

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Но это не весь моддинг на сегодня! Чуть позже я кинул нормальную, красивую перемычку вместо концевого выключателя, а также перепаковал аккумулятор, установив банку от BL-4C. Она, конечно, меньшей емкости, но девайс всё равно с ней держит довольно неплохо. Обратите внимание, что BMS (плату защиты) BL-4C необходимо выпаять: коммуникатор при поиске сети потребляет довольно много, из-за чего BMS BL-4C уходит в защиту.

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Включаем девайс и… он работает!

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Лучше перепрошить девайс официальной прошивкой: я даунгрейдился еще до замены памяти (до этого стояла прошивка WM6.5 от Cotulla), однако после апгрейда «винда» не всегда загружалась нормально, при том что сама ОЗУ инициализировалась правильно, без каких либо проблем и ребутов. После прошивки всё снова стало нормально. Если хотите накатить кастом — то ставить нужно версию с поддержкой 128Мб ОЗУ.

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Обратите внимание, что флэшер вполне честно заявляет о времени обновления в 20 реальных минут времени. В этом вина как USB 1.1, так и медленной флэши.


❯ Программная сторона вопроса


Сейчас мы рассмотрели только физическую часть замены памяти. Но некоторые читатели наверняка спросят, каким же образом коммуникатор определяет всю установленную память, если конфигурация DDR статически слинкована с первичным загрузчиком?
На ПК у нас есть SPD— Serial Presence Detection, специальная небольшая флэш-память, в которой хранится конфигурация чипов и общий объём памяти на планке. В embedded-окружении чаще всего конфигурация контроллера памяти хранится в первичном загрузчике (после BootROM) — известном также как SPL.

Загрузчик HTC на устройствах PXA поддерживает несколько конфигураций ОЗУ — как минимум 64Мб и 128Мб. И судя по всему, на манер BIOS на ранних x86 машинах, загрузчик ещё на этапе тренировки ОЗУ проверяет всё доступное адресное пространство: если доступны «верхние» 64Мб ОЗУ, тогда загрузчик передаёт в Windows CE информацию о том, что установлено 128Мб памяти.
На коммуникаторах Asus, загрузчик патчили для поддержки 128Мб.

Очевидно что без установки второго чипселекта (линии CS1), контроллер DRAM не сможет обратиться ко второй банке памяти в одном чипе, поэтому его установка обязательна. Иначе загрузчик не видит верхние 64Мб ОЗУ и считает, что в устройстве установлено лишь 32Мб.

❯ Каково пользоваться девайсом теперь?


Давайте глянем, как же девайс работает теперь. Пожалуй, сразу стоит упомянуть то, что у девайса изначально были перспективы к увеличению производительности: помимо возможности увеличения ОЗУ, чипсет легко разгоняется до 624МГц с стоковых 412. Очень даже бодрый результат.

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Сначала я решил поиграть в классику. AoE замечательно шла и на устройствах с ~32Мб ОЗУ (т.е ранних КПК), очевидно что и на гораздо более шустром девайсе она будет идти очень хорошо. Хороший способ ознакомиться с классикой RTS, кстати!

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube
Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Переходим сразу к тяжелой артиллерии. Самыми тяжелыми играми для ранних коммуникаторов считались PocketFallout и Heroes Mobile: они кушали довольно большой объём ОЗУ и что-то запустить параллельно с ними было проблематичным. Не менее тяжелой была Quake 1: игра аллокейтит для себя кучу (динамическая память) в 16Мб. Это был уже серьезный удар по свободной ОЗУ на устройствах с 64Мб памяти, QIP и PocketIE уже придется закрыть:

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube

Но будем честны: ради игр можно было закрыть почти все приложения в диспетчере задач. А как насчет повседневных задач? Давайте откроем кучу приложений и узнаем, какое у нас будет потребление ОЗУ и общая производительность системы:



Не хило, да? Коммуникаторы и сейчас подойдут в качестве звонилок с функционалом смартфона, однако приложения под себя придётся допиливать самому. Благо API очень знакомое: в WinMobile и WinCE у нас самый обычный WinAPI, очень схожий с десктопным, а также есть немного урезанный .NET!

❯ Заключение


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

Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах? Опрос, Покупка, Гаджеты, Девайс, Кпк, Windows mobile, Windows, Моддинг, Железо, Arm, Intel, Ретро, Тюнинг, Длиннопост, Видео, YouTube


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

Сейчас мы привыкли с вами, что в смартфонах объём ОЗУ зачастую больше, чем в некоторых десктопных машинах. 6, 8, 12Гб — куда дальше!? А ведь когда-то и 128Мб уже было за счастье :)
А какие модификации КПК были у вас и как использовали свой девайс вы? Может вы сами апгрейдили КПК? Пишите в комментариях!

P. S.: Друзья! Время от времени я пишу пост о поиске различных китайских девайсов (подделок, реплик, закосов на айфоны, самсунги, сони, HTC и т. п.) для будущих статей. Однако очень часто читатели пишут «где ж ты был месяц назад, мешок таких выбросил!», поэтому я решил в заключение каждой статьи вставлять объявление о поиске девайсов для контента. Есть желание что-то выкинуть или отправить в чермет? Даже нерабочую «невключайку» или полурабочую? А может, у этих девайсов есть шанс на более интересное существование! Смотрите в соответствующем посте, что я делаю с китайскими подделками на айфоны, самсунги, макбуки и айпады!

Понравился материал? Писать про моддинг ретро-девайсов?
Всего голосов:
Был у вас КПК/коммуникатор?
Всего голосов:

Понравился материал? У меня есть канал в Телеге, куда я публикую бэкстейдж со статей, всякие мысли и советы касательно ремонта и программирования под различные девайсы, а также вовремя публикую ссылки на свои новые статьи. 1-2 поста в день, никакого мусора!

Материал подготовлен при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, дабы не пропускать новые статьи каждую неделю!

Показать полностью 22 1 2
[моё] Опрос Покупка Гаджеты Девайс Кпк Windows mobile Windows Моддинг Железо Arm Intel Ретро Тюнинг Длиннопост Видео YouTube
120
684
monobogdan
monobogdan
1 год назад
TECHNO BROTHER

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля?⁠⁠

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



Статьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали бы даже на железе 20-летней давности. Полтора года назад, в мае 2022 года, я написал демку гоночной игры с очень знакомым всем нам сеттингом — жигули, девятки, десятки, и всё это даже с тюнингом! В этой статье я расскажу вам о разработке 3D-игр практически с нуля: рендерер, менеджер ресурсов, загрузка уровней и граф сцены, 3D-звук, ввод и интеграция физического движка. Интересна подробнейшая статья формата "старого Пикабу" о разработке игры с нуля? Тогда добро пожаловать!

❯ Предыстория


На момент написания статьи, я всё ещё остаюсь достаточно юным — буквально 5 дней назад мне исполнилось 22 года. Но если откатиться на 4 года назад и вспомнить момент наступления моего совершеннолетия, то на ум приходят сразу два значимых события: отец приходит в один день и говорит «открывай юлито, будем смотреть авто за 40 тыщ рублей». Понятное дело, что за эту сумму (~700$ по тому курсу) особо не разгуляешься, поэтому мой выбор пал на карбюраторную «семерочку», свою ровесницу (2001 год) синего цвета. Приехали с батькой смотреть на машину, обкатали и приняли решение — надо брать!

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



С тех пор я ездил на своем «тазе» и горя не знал — машинка не ломалась, ни разу не подводила, вложений в себя не требовала, а я начал все больше увлекаться автомобилями и изучать тематический материал. Со временем я полюбил и другие российские модели автомобилей, но особенно мне нравился АвтоВАЗ. В один момент, вспомнив про популярный и провальный некогдаLada Racing Club, мне захотелось написать «гоночки на жигулях» самому, причём полностью с нуля. А поскольку нормального арта для города у меня не было, игру я решил назвать просто и понятно: «Ралли-кубок ТАЗов» :)

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост


Поём всем Хабром!

Но с чего начинать писать такой объемный проект самому? Тут нам, конечно же, нужен план. У меня уже был готовый самопальный 3D-фреймворк для игрушек, который я использовал в одной из прошлых демок: арена-шутер от первого лица с модельками из модов для Quake. Фреймворк был вполне рабочим, но требовал некоторой доработки для использования в «кубке тазов».

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



На момент начала разработки гоночки у меня уже были готовы следующие фишки:

  • Рендерер: Direct3D9, причём полностью FFP — для того, чтобы игра запускалась даже на встройках Intel, где нормальной поддержки шейдеров до HD-серии вообще не было. Практически все текстурные техники работали через комбайнеры — дальний предок пиксельных шейдеров, где программист оперировал целыми стадиями пиксельного конвейера, а не писал программу напрямую, что накладывало множество ограничений. Поддерживались: многослойные материалы, однопроходной сплат-маппинг для плавного текстурирования ландшафтов, отражения в кубмапах, плавный морфинг (вершинная анимация) с линейной интерполяцией между кадрами, MSAA (это заслуга GAPI), отсечение невидимой геометрии по пирамиде видимости и примитивный альфа-блендинг с ручной сортировкой.

  • Звук: 3D-звук на DirectSound с позиционированием относительно источника звука, ускорением и т. п. Тут моей заслуги особо нет, кроме загрузчика wav-файлов я ничего не писал.

  • Ввод: WinAPI + DirectInput. Клавиатура опрашивалась с помощью классического GetAsyncKeyState, в то время как геймпады с помощью DirectInput. Была и абстракция осей ввода — дабы не адаптировать управление под кучу разных контроллеров.

  • Менеджер ресурсов: достаточно примитивен. К менеджеру ресурсов я отнесу и загрузчики — фреймворк поддерживал модели в форматах SMD (не анимированные меши, формат Half-life) и MD2 (анимированные меши, формат Quake 2, строго один материал на один меш), звуки — wav и простенький самопальный формат конфигов. Стандартный набор: трекинг ресурсов на слабых ссылках, пул ассетов для исключения дублирующейся загрузки и т. п.


Фреймворк выдавал не слишком крутую графику:

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



Зато был очень простым «под капотом», имел довольно неплохую расширяемую архитектуру и в целом, на нем можно было запилить что-то прикольное. Где-то за неделю я запилил вот такую демку шутера от первого лица:

Игрушка даже на VIA UniChrome работала — последователе всем известного S3 Savage/S3 Virge!

Минимальное приложение выглядело примерно так:

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост

Приведённый выше код нарисует модельку с текстурой перед лицом игрока. Всё просто и понятно. Однако, как это всё работает «под капотом»? Давайте попробуем разобраться:

❯ Основа и рендерер


В своих играх я стараюсь придерживаться одной архитектуры: есть условный класс Engine, который управляет созданием платформозависимых окон, организацией главного цикла игры и инициализацией подсистем. Поскольку в одном процессе обычно запущен только один экземпляр игры (исключение — выделенные авторитарные серверы с комнатами, на манер Left 4 Dead), сам по себе Engine является синглтоном и содержит в себе ссылки на все необходимые подмодули.

Game.Initialize(new GameApp());

Game.Current.Run();

Как я уже говорил выше, сам по себе рендерер построен на базе графического API Direct3D9. Выбор DX9 обусловлен его распространенностью на железе прошлых лет, хорошей совместимостью (DX9 легко запускается на железе времен DX8 и даже DX7) и иногда лучшей производительностью на видеочипах от ATI. По сути, всё начинается с создания контекста или устройства в терминологии DirectX: в параметрах создания контекста указывается ширина и высота вторичного буфера, желаемый уровень сглаживания MSAA, видеорежим и частота желаемая частота обновления экрана.

https://pastebin.com/uba62bhu

При создании контекста есть свои нюансы, которые необходимо учитывать — например, большинство встроенных видеокарт не поддерживают аппаратную обработку вершин (D3DCREATE_HARDWARE_VERTEXPROCESSING), из-за чего создание контекста будет заканчиваться ошибкой без соответствующего флага, разные видеокарты поддерживают разные форматы буфера глубины и трафарета (сейчас видеокарты нативно даже 24х-битный RGB для рендертаргетов не умеют использовать, только выравненный XRGB), а видеокарты до GF5xxx-GF6xxx не поддерживали Pure режим D3D, который предполагает, что программист возлагает всю обработку ошибок на себя, при этом количество проверок в самом GAPI уменьшается, благодаря чему мы получаем небольшой выигрыш в производительности.

Важно так же отметить такой аспект, как управление ресурсами. К ресурсам видеокарты в терминологии старых GAPI относятся текстуры и буферы (как вершинные, так и индексные). В OpenGL особо нет такого понятия, как Device Lost. Если пользователь сворачивает ваше приложение из полноэкранного режима, или, например, видеодрайвер крашится — то GL сам должен позаботится о перезагрузке ресурсов обратно в видеопамять (исключение — Android и iOS, на мобилках контекст не уничтожится, но ресурсы будут выгружены и их хендлы станут некорректными). У D3D есть событие Lost, которое вызывается при потенциальной потере контекста — и его тоже нужно грамотно обрабатывать. Поэтому в D3D есть несколько пулов:

  • Managed: D3D9 сам сохраняет копию текстуры или геометрии в ОЗУ, а затем при потере контекста пересоздаёт аппаратные буферы и перезагружает нужные данные сам.

  • Default: данные загружаются напрямую в видеопамять (в терминологии D3D — AGP memory), или, если видеопамяти не хватает — в ОЗУ, если видеокарта, конечно, поддерживает Shared Memory Architecture.

  • System: загрузка ресурсов только в ОЗУ. Этот пул обычно не используется в играх — слишком медленно.


И грузить данные желательно в пул Default. Иначе при относительно большом количестве ресурсов, игра начнет «жрать» ОЗУ не в себя (пример — Civilization 5). При потере контекста, ресурсы нужно перезагружать с диска «на горячую»!

Переходим к самому важному — отрисовке геометрии. Для задания внешнего вида объектов на экране, используются так называемые материалы, которые содержат в себе данные о том, какая текстура должна быть наложена на объект, насколько объект отражает свет, какая техника должна использоваться и т. п. В современных движках система материалов обычно гибкая, поскольку шейдеры могут принимать самые разные параметры. В нашем случае шейдеров нет вообще, набор параметров фиксирован и зависит от видеокарты: стандартные техники типа повершинного затенения по Фонгу/Гуро, цвет объекта, туман и т. п.

Формат материалов в фреймворке выглядит вот так:

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост

Однако даже без шейдеров была возможность сделать относительно гибкую систему материалов — с помощью комбайнеров, как это делала Quake 3. Самые первые 3D-ускорители не поддерживали смешивание нескольких текстур за один вызов отрисовки, поэтому некоторые игры шли на ухищрение: к примеру Quake вручную сортировал геометрию по отдаленности без использования буфера глубины, он просто… накладывал альфа-блендингом ту же самую геометрию с затененной текстурой освещения (лайтмапа). Это называется многопроходной рендеринг. Комбайнеры, которые появились ближе к концу 90-х, позволяли смешивать несколько текстур с помощью различных операций (Add, Sub, Mul, Xor и т. п.), а также умножать финальный цвет на определенный коэффициент. Именно комбайнеры я использовал в своём фреймворке для реализации некоторых относительно сложных эффектов — например, плавное смешивание текстур на ландшафте:

https://pastebin.com/X6vA76CU

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

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



Переходим к отрисовке. По сути, за рисование полигональной геометрии отвечает один метод — DrawMesh, с несколькими перегрузками (в идеале — основной должен принимать матрицу трансформации, а остальные принимать обычные World-space координаты, из которых будет построена матрица трансформации). В оригинале метод рисует геометрию с помощью DIPUP, поскольку практически вся геометрия в игре была анимирована (и анимация, само собой, обрабатывалась для каждой вершины софтварно, на ЦПУ, поэтому я не видел разницы между перезаливкой геометрии на GPU каждый кадр и DIPUP), однако в одном из бранчей фреймворка я переписал отрисовку статику на обычный DIP. Обратите внимание, что DIPUP для комплексной геометрии на старых GPU будет слишком медленным — когда-то этим страдал графический движок Irrlicht.

https://pastebin.com/L0GYCkmt

В более позднем бранче добавилось отсечение по дистанции от «глаз» игрока и по пирамиде видимости.

Переходим к анимации. Есть три основных метода анимации геометрии в играх:

  • Скиннинг: анимация вершин относительно скелета модели. Очень хорошо подходит для различных персонажей. Весь скелет является иерархией, где каждый элемент трансформируется относительно позиции родителя, что позволяет легко интегрировать «скелетку» в граф-сцены самого движка (Unity — самый яркий пример). Иногда скелетку используют и для «неоживленных» предметов — например, анимация подвески авто.

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

  • Object-Transform: классический метод иерархической анимации, очень похож на скиннинг, только трансформируются не сами вершины, а привязанные к ним объекты. Применялась, например, во многих играх на PS1 и в GTA III (замечали отсутствие плавности в местах сочленений персонажей — это и есть OT).


Я не умею нормально работать с скиннингом моделей в 3D-редакторах и обычно не юзаю скиннинг в своих игрушках — для небольших демок хватает обычного морфинга с интерполяцией. Если интерполяцию не использовать, то анимация будет выглядеть топорно (в Quake 1 при отключении CVar'а такая и была):

https://pastebin.com/Y5r9eDAk

Работа с анимациями выглядела вот так:

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост

По сути, одна из самых комплексных частей — рендерер, готова. Однако в играх требуются и другие подсистемы, которые реализовать куда проще.

❯ Звук и ввод


Реализация звука в играх задача не шибко сложная, если дело не доходит до программной реализации микшера, 3D-позиционирования и различных эффектов. Большинству игр хватает обычного не-сжатого wav, звук в котором хранится в виде PCM-потока.

В качестве API для звука я выбрал DirectSound. Очень удобное API, хотя сейчас его фактически вытеснил XAudio. DirectSound поддерживает любые звуковые карты, сам занимается микшированием звука, а в некоторых старичках типа AC97 умеет даже аппаратное ускорение! На современных машинах обычно микширование реализовано полностью софтварно, дабы не упираться в количество каналов/память на борту звукового адаптера, но в прошлом это помогало снизить нагрузку на процессор.

В DirectSound есть два основных объекта: сам IDirectSound8, представляющий интерфейс к звуковой карте и управлению её ресурсами и буфер — который может быть подкреплен как собственными данными, так и данными из другого буфера. В играх, они делятся на три базовых понятия:

  • Слушатель: описание позиции и иных параметров «слушателя» — позиции ушей в игровом мире. Обычно позиция слушателя совпадает с позицией игрока.

  • Источник: описание источника звука в 3D-пространстве. Например, если мимо нас проносится машина, то звуковому API необходимо знать позицию, ускорение и дальность звука, дабы правильно скорректировать звук в пространстве.

  • Поток: поток, который содержит в себе звук. Может быть как обычным буфером, куда звук уже предварительно загружен, так и потоковым буфером, куда загружается часть музыки или другого длинного трека.


Переходим к реализации примитивного звука:

https://pastebin.com/jrG2iaiT

Теперь мы можем воспроизводить звуки в нашей игре!

Однако, нам нужно чтобы пользователь мог взаимодействовать с нашей игрой. Для этого в разных системах есть различные API для взаимодействия с устройствами ввода. В случае Windows — это DirectInput для обычных USB-геймпадов и рулей, и XInput для геймпадов, совместимых с Xbox 360/Xbox One. Нажатия с клавиатуры можно обрабатывать двумя способами: с помощью событий WM_KEYDOWN и WM_KEYUP и функции WinAPI GetAsyncKeyState.

Пока что мне нужна только клавиатура и мышь:

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост

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

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

❯ Редактор уровней


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

Однако блендер (особенно 2.79 и ниже) не очень удобный редактор для работы с достаточно большими картами. Поэтому в определенный момент встал вопрос с организацией графа сцены и собственного редактора карт.

Граф сцены и графом то не назовешь — это просто линейный список объектов, которые присутствуют на сцене. Каждый объект наследуется от базового абстрактного типа Entity, если это «невидимый» объект, или PhysicsEntity, если объект должен интегрироваться с физическим движком. У базового объекта есть только имя и флаг выборки в редакторе.

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост

Вообще, для редактирования уровней можно хоть редактор Unity использовать, предварительно написав экспортер в самопальный формат. Однако я решил реализовать свой редактор: как обычное Windows Forms приложение + панель, в которую движок рендерит картинку. В его реализации нет ничего необычного: он точно также загружает уровень, как и основная игра, но при этом не создаёт игрока и ботов и имеет свободную камеру.

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



Формат уровней примитивный донельзя. В процессе разработки небольших игрушек я обычно следую принципу KISS и не люблю распыляться сложными сериализаторами/десериализаторами и прочими заморочками, реализовывая лишь самые необходимый функционал. Формат карт — текстовый, одна линия на один объект:

p ferns 0 0 10.8 0 0 0 1

Где p — «класс» объекта, в случае p — это Prop, «декорация».
ferns — модель пропа. При этом сами пропы описаны в отдельных текстовых файлах, где в виде key-value значений хранятся настройки коллизии, материала, текстуры и т. п.
XYZ — позиция в мире.
XYZ — поворот в мировых координатах, задаётся в углах Эйлера (это только для статики, которая не подвержена Gimbal Lock, под капотом вся работа идёт с кватернионами).

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост

❯ Физика автомобилей


После того, как граф сцены был готов, я приступил к реализации физики автомобилей. Но как я уже говорил, физический движок я использовал готовый — т. е. вся работа по резолвингу столкновений, распаралелливанию вычислений и Joint'ам сводилась чисто к нему. Я лишь использовав физику колеса, реализовал поведение машинки, внеся в него некоторые изменения: в основном — вынес в публичные свойства параметры трения колеса.

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



Само колесо реализовано по классическому принципу рейкастинга — колесо пускает под себя лучи и определяет трение относительно поверхности, на котором стоит, при этом двигая остальное тело используя собственное ускорение. Сейчас в играх для более точной симуляции используется Pacejka Magic Formula — формула, позволяющая рассчитать физически корректное поведение покрышки с различными диаметрами.

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

https://pastebin.com/k9KXtreT

Как можно видеть из метода Move, наша машинка полноприводная и имеет две управляющие оси (передние, само собой). Конфигурацию привода легко можно модифицировать в будущем.
Коллизия кузова машинки — обычный OBB прямоугольник, ну или «коробка».

А вот как это работает на практике:

Пока что гонки на утюгах. Но ездит же. :))
Но с кем мы гоняемся?

❯ Боты


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

  • Вейпоинты с поиском путей: довольно комплексный метод, который позволяет сделать, например, гонки в открытом городе, где боты сами смогут находить путь к чекпоинтам. Подобный способ используется для гонок в GTA, например. Строго говоря, сам по себе поиск путей — это тоже набор чекпоинтов и преград, поэтому для такого метода навигации необходимо довольно большое количество информации (пути для трафика, светофоры и т. п).

  • Вручную раставленые вейпоинты: классика. Левелдизайнер вручную расставляет вейпоинты и задает им параметры: например, на этом повороте нужно притормозить, а на этой прямой можно поддать газку.

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


При этом некоторые разработчики не стесняются красивых фейков: реализация реалистичного входа в поворот с крутой физикой может быть сложной, особенно когда боты «тупые», поэтому в некоторых играх ботам намеренно подкручивали управляемость или максимальную скорость. Помните, как быстро нагоняли соперники в NFS Underground? Вот то-то же. :)

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

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

private Vector3 WorldToLocalSpace(Vector3 worldPoint)

{

Matrix transform = Matrix.Invert(Matrix.RotationQuaternion(Rigidbody.Rotation) * Matrix.Translation(Rigidbody.Position));

Vector4 vector4 = Vector4.Transform(new Vector4(worldPoint, 1f), transform);

return new Vector3(vector4.X, vector4.Y, vector4.Z);

}

Если очень условно, то это выражение эквивалентно a — b с учетом поворота. Поскольку мы вычислили локальные координаты вейпоинта, нам остаётся только вычислить угол между ними с помощью классического atan2 и перевести радианы в градусы:

private float AngleBetween(Vector3 v1) {

return (float) Math.Atan2((double) v1.X, (double) v1.Z) * 57.29578f;

}

Полностью логика бота выглядит так:

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост

Легко и просто, да?

❯ Гараж и гонки


Какой интерес в гонках без… гонок? Поскольку у меня не было особо ассетов для создания пригорода, я решил сделать пересеченную местность. А на пересеченной местности у нас есть как кольцевые гонки, так и спринт — от точки до точки.

Помимо этого, в игре должен быть гараж, где игрок мог бы купить новую машину или тюнинговать текущую. В начале игры выдавалась бы старая дедова копейка (модельки Оки не нашел), а то и Москвич, а потом игрок выигрывал бы в гонках и получал возможности про прокачке тачек и покупке новых. Эээх, лавры Lada Racing Club не дали покоя!

Начал я с реализации гаража. Сам по себе гараж — отдельный уровень, который обрабатывается своим контроллером, также в гараже применяется самый первый доступный UI в фреймворке — меню со списками. Сам гараж поделен на множество подменю: тюнинг, гонки и автосалон.

https://pastebin.com/dakm4AvbПараллельно с гаражом, была проработана система тюнячек — они тоже описывались в простых текстовых файлах и так или иначе влияли на ходовые качества машины. Правда, визуального тюнинга не было предусмотрена — некому моделлить апгрейды. :(

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



Сами гонки можно было начать, обратившись к RaceManager и передав структуру RaceParameters:

public struct RaceParameters {

public string Name;

public string Mode;

public int NumOpponents;

public int Difficulty;

public int Prize;

public int ProgressAffection;

}


После этого, игра загружала уровень, создавала ботов на месте spawnPoint (игрок оказывался, как обычно, последним) и запускала гонку.

https://pastebin.com/mgQJjyJL

А затем каждый кадр просчитывала позиции каждого участника гонки:

https://pastebin.com/0ExwDZaY'

Всё! Логикой движения и всем остальным заправляли уже боты. Хотя, там и был костыль на первых этапах, который помечает флаг конца гонки, в остальном — функционал гоночек рабочий. :)

Вот мы и дошли до этапа, когда простенькая, но рабочая демка игры у нас уже есть! Игра запускается на GF4, однако работает не совсем корректно — но оптимизировать её под видеокарты тех лет не составит труда (в основном — пережать текстуры, убрать некоторые техники на комбайнерах и запечь статические пропы в батчи).

❯ Заключение


Вот так я и написал гоночки за неделю. Время разработки демки с нуля до состояния, которое вы видите в статье — всего неделю. Да, за это время реально написать прототип гоночной игры. И я ведь знаю, что в комментариях игру будут сравнивать с Lada Racing Club и шутить о сроках её разработки — ведь в этом и суть! Слишком мало реально прикольных ламповых гоночек на жигулях. Вот что у меня получилось в итоге:

Исходниками игры я конечно же поделюсь: тык на GitHub.
А вот линки на загрузку демки:

Гоночки

Шутан

Ну а для меня это был своеобразный челлендж. И я его выполнил — у меня получилась рабочая демка на выходе! Я вижу что вам, моим читателям, интересна тематика самопальной разработки игр. Судя по комментариям, вам нравится тематика геймдева, программирования графики и разработки игр. Темой одной из следующих статей может стать описание архитектуры графических ускорителей конца 90х, история их API (без D3D) и написание 3D-игры для 3dfx Voodoo с нуля, на базе Glide!

Кроме того, я хотел бы рассказать о графическом API известного многим «3D декселератора» S3 Virge. Интересна ли вам такая рубрика? Пишите в комментариях!

Статья подготовлена при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, , чтобы не пропустить новые статьи каждую неделю!

Показать полностью 16 5
[моё] Gamedev Инди Игры Программирование Графика Directx Видеокарта Железо Жигули АвтоВАЗ Лада Windows Видео YouTube Длиннопост
66
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии