01 Марта 2020
48

О латентности при эмулировании ретроконсолей и не только

Приветствую вас, дорогие пикабушники!

Момент, когда мне захотелось переиграть в то что я играл на NES, доиграть в то, во что не доиграл на Sega Mega Drive, и поиграть в то, во что никогда не играл (а очень хотелось) на SNES, я точно не помню. Обстоятельства, при которых это произошло - тоже. Возможно, в числе прочего, свою роль сыграли несколько постов из этого сообщества). Но помню свои первые ощущения, когда начал играть в несовские Contra и Silk Worm на эмуляторах. Если коротко, то это были разочарования и досада. Я не смог поймать те кайф, кураж и увлеченность, которые я точно помню испытывал в девяностые, когда играл в практически любую игру на Денди. Теперь же я чувствовал себя как корова на льду.

Конечно, можно было списать это на возраст и деградацию скила, но признаваться себе в том, что я настолько старый и настолько растыка, мне не хотелось. И я начал задаваться вопросом "А, может быть, дело в чем-то еще?". Стал общаться с людьми, которые имели опыт игры и на эмуляторах и на оригинальном железе, гуглить, читать. Через некоторое время я узнал про инпут лаг. Некоторые люди описывали свои ощущения от игры на эмуляторах как "неправильная физика".

Шли годы, смеркалось. Я поднабравшись знаний и опыта, научился где, чего и как в ретроарче "подкрутить", чтобы играть было более-менее сносно. "Неправильная физика" стала более правильной. Не торт конечно, но за неимением лучшего пойдет. Далее, бороздя просторы пикабу, я наткнулся вот на этот пост. Сам пост вполне себе интересный, довольно грамотный и уж точно имеет право на существование. Но самая мякотка была в комментах. Там люди, услышав краем уха про "богоподобную" и относительно новую фишку ретроарча "Run-Ahead", абсолютно на серьёзных щах утверждали, что теперь, дескать, ретроарч имеет "более низкий инпут лаг, чем оригинальные консоли". И новодельные коллекционные консоли типа NE Mini, SNES Mini, SMD Mini - тоже отстой, потому что там внутри эмулятор, но не ретроарч и опции "Run-Ahead" там нету. Короче, нет бога, кроме RetroAch и Rasberry Pi - пророк его. А остальное от лукавого и маст дай. При этом никаких вменяемых аргументов эти люди привести не могли, с результатами тестов ознакамливаться не желали, а уж проводить тесты самим - так это уже вообще "чур меня, чур". И тут меня, что называется, накрыло.

Адекватных результатов тестирования инпут лага эмуляторов в рунете я не нашел, поэтому решил провести тесты самостоятельно. Когда работа уже была в самом разгаре, я наткнулся на пост чувака с reddit, который провел сравнительное тестирование инпут лага NES Mini и ретроарча. Причем последний тестировался как с включенной опцией "Run-Ahead", так и без нее. Но меня уже было не остановить))).


Почему меня не устроили результаты тестов, которые я нашел в рунете

С самого начала, когда я ознакомился с теми тестами инпут лага, которые уже были в рунете, я знатно охренел от небрежности методологии их проведения. За точку отсчета при замере инпут лага брался момент нажатия пальца на кнопку геймпада, который определялся визуально. Здесь, наверное, стоит пояснить чуть подробнее. Визуально мы может отследить момент, когда палец касается кнопки. Визуально мы можем отследить, когда кнопка нажимается пальцем полностью, т. е. переводится из одного крайнего положения (отжата) в другое (нажата). Чего мы не можем отследить визуально, так это когда именно нажимаемая кнопка замыкает 2 контакта геймпада. Точно можно сказать, что где-то между этими двумя крайними положениями, но в какой именно момент - сказать нельзя. А теперь немного математики. Предположим, я буду снимать на камеру с 120 кадров в секунду (а на нее я снимать и буду), тогда 1000 мс разделить на 120 кадров = 8,(3) мс. Один кадр длится 8,(3) мс - это предел точности наших измерений (пока что). Теперь, предположим, я могу нажать-отпустить кнопку геймада 5 раз в секунду, если не буду убирать с нее палец. Пять раз в секунду - это очень быстро, не так ли? В таком случае один цикл нажать/отпустить у нас займет 1000 мс разделить на 5 раз = 200 мс. Положим, что длительность нажатия у нас равна длительности отпускания, тогда нажатие кнопки у нас происходит 200 мс / 2 = 100 мс. Сто миллисекунд нам нужно для того, чтобы перевести кнопку из состояния "не нажата" в состояние "нажата". Причем, когда именно она замкнет контакты геймпада: в начале нажатия, в середине или в конце - мы не знаем. Таким образом, мы получаем погрешность измерения равной 100 мс. С учетом того, что инпут лаг оригинальной NES равен примерно 35 мс, а SNES и SMD - 50 - 70 мс, я считаю такую погрешность абсолютно не приемлемой. А если, предположим, мы нажимаем на кнопку не 5, а 3 раза в секунду (что тоже, я считаю, немало), то погрешность измерений вырастает до (1000/3)/2 = 167 мс. Поэтому, нам нужно точно знать момент, когда кнопка замкнула контакты геймпада, но как это сделать? 

Что сделал я

К этому моменту мне пришла идея о том, что параллельно контакту кнопки геймпада можно подключить светодиод и вывести его на проводе наружу геймпада. И по зажиганию светодиода определять, что контакты замкнулись и сигнал пошел. Тогда я думал, что я самый умный и что использовать светодиод я придумал первым. Чуть позже я понял, что жестоко ошибался))).


Методология тестирования

На целевой платформе (во всех случаях это были ПК, в большинстве случаев - под Windows) запускался RetroArch версии 1.8.4 stable. К ПК подключался геймпад Defender Vortex с присобаченным к кнопке R1 красным светодиодом. Почему именно R1? Просто к ней мне было удобней всего подпаяться. Светодиод был вынесен из корпуса геймпада на красном проводе, длиной примерно 30 см. Провод со светодиодом располагался так, чтобы светодиод находился внизу монитора и при съемке попадал в кадр. Съемка велась на смартфон Motorola, который умеет в slow motion. т. е. он снимает видео в 120 fps, затем отснятое сохраняет в файл с уже 30 fps, таким образом получая замедление в 4 раза. Длительность одного кадра видео будет 1000 мс разделить на 120 кадров в секунду = 8,(3) мс. Эмулируемая платформа - NES. Используемый ROM - Super Mario Bros (World). Ядра (они же эмуляторы, они же cores) использовались все, способные работать с опцией run-ahead из доступных в каждом конкретном порте RetroArch. Да, ретроарч одной и той же версии, но собранный под разные ОС имеет разный список поддерживаемых ядер. Кнопке R1 в ретроарче было переназначено действие кнопки A, в Super Mario Bros - это прыжок.

Итак, запускался ром, запускалась игра, запускалась видеосъемка. Затем кнопка R1 нажималась, Марио подпрыгивал вверх и приземлялся обратно, кнопка отпускалась. Так повторялось 10 раз, иногда больше. Затем видео отсматривалось покадрово и велся подсчет кадров с момента зажигания светодиода до момента начала движения спрайта персонажа. Это и есть инпут лаг. Для каждой серии экспериментов приводится задержка минимальная/максимальная/средняя в кадрах/миллисекундах.


Платформы, на которых проводилось тестирование

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


Результаты тестирования

1) Железо: ноутбук Toshiba Sattelite L30-113. ЦП: Intel Core2Duo T2450 2,0 ГГц; ОЗУ: 2 Гбайт; Видео: ATI Radeon XPress 200M.

ОС: Windows 7 Ultimate SP 1 32 bit. Результаты (минимальный/максимальный/средний инпутлаг, кадров/миллисекунд):


Nestopia (UE): 4 кадра/33 мс / 9 кадров/75 мс / 7 кадров/56 мс.

FCEUmm: 6 кадров/50 мс / 12 кадров/100 мс / 10 кадров/80 мс.

QuickNES: 5 кадров/42 мс / 10 кадров/83 мс / 8 кадров/65 мс.

Emux NES: нет поддержки run-ahead, инпут лаг не замерялся.

Mesen: при включении run-ahead начались жуткие тормоза изображения и звука, fps просел до 30 с копейками, инпут лаг не замерялся.


2) Железо: Монитор Acer AL1717F, LCD, 17 дюймов, 4:3, 1280х1024, время реакции (заявленное) 5 мм, VGA.

ЦП: Intel Pentium CPU G4560 3,5 ГГц; ОЗУ: 4 Гбайт; Видео: Intel HD Graphics 610; НЖМД: Toshiba DT01ACA050.

ОС: Win 10 Professional 1809, 17763.1039 64 bit. Результаты (минимальный/максимальный/средний инпутлаг, кадров/миллисекунд):

Nestopia (UE): 9 кадров/75 мс / 20 кадров/167 мс / 12 кадров/99 мс.

FCEUmm: 9 кадров/75 мс / 13 кадров/108 мс / 11 кадров/91 мс.

Emux NES: нет поддержки run-ahead, инпут лаг не замерялся.

Mesen: ром запустился, изображение и звук были в норме, fps близко к 60, игра работала нормально, но я накосячил с видеозаписью) Переснимать не стал.


3) Железо: ноутбук Lenovo B590. ЦП: Intel Core i3-2348M 2,3 ГГц; ОЗУ: 8 Гбайт; Видео: NVidia GeForce 610M; НЖМД: WDC WD5000LPVT-08G33T1.

ОС: Windows 7 Prof SP1 64 bit. Результаты (минимальный/максимальный/средний инпутлаг, кадров/миллисекунд):

FCEUmm: 8 кадров/67 мс / 14 кадров/117 мс / 10 кадров/86 мс

Mesen: 10 кадров/83 мс / 13 кадров/108 мс / 12 кадров/98 мс

Nestopia UE: 7 кадров/58 мс / 14 кадров/117 мс / 10 кадров/82 мс

QuickNES: 9 кадров/75 мс / 14 кадров/117 мс / 11 кадров/89 мс


4) Железо: полноутбука IRU Bravo-4315 (отсутствует крышка с матрицей); ЦП: Intel Pentium 4 (Prescott) 2,8 ГГц; ОЗУ: 768 Мбайт; Видео: дискретное, какой-то Radeon 9x; НЖМД: какой-то IDE; Монитор: Samsung SyncMaster 757MB (ЭЛТ). ОС: Linux Xubuntu 18.04 LTS. Результаты (минимальный/максимальный/средний инпутлаг, кадров/миллисекунд):

FCEUmm: 5 кадров/42 мс/ 13 кадров/108 мс / 9 кадров/77 мс

Nestopia UE: 5 кадров/42 мс / 11 кадров/92 мс / 9 кадров/74 мс

QuickNES: 4 кадров/33 мс / 12 кадров/100 мс / 8 кадров/65 мс


Выводы

Изначально это тестирование задумывалось мной как сравнение инпут лага ретроарча с включенной опцией "run-ahead" с ретроарчем же, но без использования этой фичи. Но, как в последствии я понял что, в таком подходе не очень много смысла. Ибо run-ahead убирает встроенный инпут лаг самой игры (рома), а не эмулируемой консоли. Для подавляющего большинства ромов для NES - это 1 кадр = 17 мс при 60 fps. Это немало и это действительно то, что доступно ретроарчу и недоступно оригинальным консолям. Но, даже при всем этом, по величине инпут лага эмуляторы NES никак не могут тягаться на равных с оригинальными 8-битными консолями от Nintendo. Поэтому тестирование превратилось в попытку выяснить, насколько максимально малым может быть инпут лаг при использовании ретроарча, на что способен ретроарч хотя бы "в прыжке и из последних сил".

Можно ли запускать ромы от NES/Famicom и комфортно в них играть, используя эмуляторы, входящие в состав Retroarch? Да, можно. Вполне достижимо снижение инпут лага до уровня, характерного для реальных игровых консолей четвертого поколения (Sega Mega Drive/Genesis, SNES) - 50 - 70 мс. Если боги будут на вашей стороне.

Правда ли что при эмуляции NES/Famicom посредством RetroArch возможно добиться инпут лага даже меньшего, чем на оригинальных консолях? Мне этого не удалось. Я не встречал какие-либо подтвержденные данные, свидетельствующие о том, что это кому-то удалось.


Послесловие

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



Показать полностью
16

Коронавирус улучшил экологию Китая

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


Масштабно экология по всему миру в последний раз улучшилась в 2008-ом году, когда "бушевал" глобальный экономический кризис.


Пруф: https://lenta.ru/news/2020/03/01/ecology/

18

Как мой друг бросил пить

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

Жена его на это даже внимания не обращала, так как у Толяна батя был зампред исполкома, а с начала 90-х зам мэра.


Кстати, вы заметили, что большинство получивших преференции после распада СССР это как раз-таки замы? Но это так, небольшое отступление.


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

Как только что появится, так сразу - Толя, нам это надо. Очень! Сейчас!!

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


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

Напомню, это всё в 90-х.


С начала нулевых у бати Толяна чёт не попёрло. Сразу не попросили, повертелся пару лет каким-то там ведущим специалистом, но к 2004-му всё же ушли на пензию.

И тут началось. Толю попросили буквально через месяц после ухода отца. Пристроили старые знакомые в пожарку писарем, или как там это называется? Зарплата никакая, нищтяков от бати нет, а у подруг К-700, гнусмас слайдер, и Райзер на подходе.

Ну блядь как теперь жить-то??!

Вся сцука жизнь теперь по пизде!


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

И тут для Толяныча, только вдохнувшего было воздух свободы, начался израиль и гоморра.


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

И в итоге он запил. Нет. ЗАПИЛ. Даже не так, он превратился в водку. Он стал самой водкой. Когда я его встретил на третий месяц запоя он излучал водку и одновременно впитывал её от других таких же как он.

Он ходил так, как будто ему просунули лом за шиворот свитера на спине и воткнули в копчик.

Он меня даже не узнал.


На четвёртый месяц его ЗАПОЯ отец пенсионер отвёз его к своим друзьям лесничим на дальний кордон, там его заперли в каком-то там квартале на стопиццотом выделе в охотничьей избушке с целью излечить от зелёного змия, оставили жрачки и сигарет и съебались ловить нелегальных лесорубов.


Через неделю приехали проведать. Нашли через три дня в овраге, наполовину изъеденного местным зверьём. Хоронили в закрытом. Человеку было всего 39 лет.


Галюсик со своей сестрой вскоре тоже спились, продали квартиру и съебались в закат, а Толина дочка Ирина работает учительницей начальных классов и живёт у бабушки с дедушкой.

Со мной здоровается.


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


Вот как-то так вот.


©pleseckiy

Как мой друг бросил пить Алкоголь, Семья, Судьба, Жизнь, Мат, Длиннопост
Показать полностью 1
0

Интересные факты о торнадо

Другое название торнадо — смерч.

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

Чаще всего торнадо живёт всего несколько часов.

На территории США ежегодно фиксируется более восьми сотен заметных торнадо.

Чаще всего торнадо возникают в дневное время.

Скорость передвижения торнадо составляет иногда до ста километров в час.

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

Особо мощные торнадо в состоянии поднять в воздух автомобиль или целый дом.

Некоторым счастливчикам удалось выжить, побывав в центре торнадо.

Самые быстрые ветра на планете — это именно торнадо.

Смерчи бывают и в России тоже. Первое упоминание о торнадо в русских летописях датируется 1406 годом.

Кому интересно у нас есть telegram канал
https://teleg.run/science_zagranyu надеюсь было познавательно )

Показать полностью
25

Прекрасное далёко

Прекрасное далёко Длиннопост, Юность, Будущее, История, Судьба, Мат

Как же мы все мечтали об окончании школы.

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

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

Тогда мы клялись и обещали друг другу держать нос по ветру, не теряться, помогать. На выпускном снимке каждый чего-нибудь ободряющее написал.

Теперь уже сложно понять, кому принадлежала та или иная реплика: слишком неразборчивы, корявы подписи.

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

Было в неведомом грядущем нечто увлекательно интересное: цветное, гармоничное, волнующее и чарующее одновременно.

Интересно, у кого-нибудь сбылось?

Когда мне сообщили о том, что на вечер встречи выпускников придут почти все, кроме Витьки Горина, погибшего в Чечне, и Вали Некрасовой, скончавшейся от неудачных родов, руки и ноги затряслись в предвкушении… наслаждения от встречи с прошлым, возбуждения и триумфа.

Мне, Константину Эдуардовичу Полетаеву, есть чем гордиться.

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

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

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

Меня трясло и колотило. В голове вертелись эскизы сцен узнавания: настороженность, потрясение, радость…

Я пытался воспроизвести реакцию каждого, но у меня ничего не получалось: я не знал, кого и как на самом деле увижу, что им скажу и как отреагирую сам.


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

Настроение странное, непонятное. Такое впечатление, что побывал на дне разбитых сердец.

С самого начала всё пошло не так.

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

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

Выпускников пригласили в спортзал. Директор, Сергей Николаевич, выступил с речью. Его все любили, чего нельзя было сказать о преподавателях, на глазах которых блестели слёзы.

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

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

Поговорить ни с кем и не удалось. Радость встречи сразу со всеми была затушёвана мимолётностью происходящего.

Разговорились, лишь рассевшись за столы, после второй или третьей рюмки.

Пили в основном водку.

Серёжка Глухов и Варя Лаврухина что-то невнятно зачитывали по бумажке, объявляли тосты.

Общаться начали в перекур. Возможности спросить и узнать о том, что по-настоящему интересно, не было. Одноклассники странным образом приземлились. Для полёта у них не было ни высоты, ни объёма, ни цели.

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

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

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

У них были те же тела и лица, правда, слегка повзрослевшие, но… мне мерещилось в их облике что-то не совсем реальное. Каждый старался казаться моложе и значительнее чем на самом деле, но как-то искусственно. Так и хотелось сказать “не верю”.

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

Конечно, вспоминали о вылазках на картошку, о том, как всем классом сбегали с уроков в апреле в берёзовую рощу пить пиво, как пели у костра под гитару, как устроили взрыв в кабинете химии, как выкрали классный журнал, как…

Но сначала… сначала каждый вставал с наполненной рюмкой и вещал о своих победах.

Моя фамилия стояла в конце классного списка. Говорить о себе после всего услышанного расхотелось. Настроение к тому времени улетучилось.

На перекуре основательно захмелевший Костя Бондаренко вдруг выдал, – выходит один я из всего класса неудачник? Чего вы все выделываетесь, кому втираете? Я вот женился сразу после школы, потом родилась двойня, из института пришлось уйти, работаю наладчиком вакуумного оборудования на заводе. Мне двадцать семь, а я всё, приплыл, сдулся. Ни перспектив, ни будущего. С работы домой, из дома – на работу. Вечером стирка, готовка, возня с малышнёй, потом бутылка пива, телевизор… Я их люблю, но для счастья этого недостаточно. А вы… вы счастливы?

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

— Чего это он? Только что хвастался, что жизнь удалась, что…

— Вчера удалась, а сегодня… ладно, проехали. Захочет – сам расскажет, – с горечью в голосе сказал Петька Герасимов. – Это его жизнь.

— Что за тайны от друзей? Убил кого, заболел неизлечимо? Давайте поможем.

— А давайте… пойдём сейчас и отрежем у его начальника ту штуку, которой детей делают. Что, слабо! Жена от него ушла, не сегодня – завтра с работы вылетит. Он же резкий, боссу своему глаз подбил… в перспективе развод, раздел имущества и вообще... жизнь, как говорится, дала трещину.

— Какие его годы. Если невеста уходит к другому…

— От тебя уходила? Лучше о себе расскажи.

— Нечего собачиться, парни. Жизнь прекрасна. Пойдём лучше девочек развлекать.

Увидев, что мы входим, бывшие одноклассницы замолчали, притихли. Кое у кого из них были опухшие, со следами недавних слёз, глаза.

Колька Дементьев подбежал к музыкальному центру, врубил на полную громкость музыку.

Из динамиков полилась печальная романтическая баллада в исполнении Натальи Штурм, – “Окончен школьный роман до дыр зачитанной книжкой, но не поставленный крест, как перепутье у ног. Подружка сводит с ума, и мой вчерашний мальчишка с букетом наперевес

её терзает звонок…”

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

— Не молчи, поговори со мной, Костя?

— C удовольствием. О чём?

— Помнишь…

— Конечно, помню, Машка. Тогда, на выпускном, у нас случилась любовь… а потом ты пропала. Я тебе писал, но ответа не получил. Куда ты исчезла?

— Долго рассказывать. Он меня обаял мгновенно. Сияющий неподдельным счастьем и удивительными эмоциями красавец лейтенантик. Всего одна ночь… я стала мамой. Уехали служить на Байкал, мотались по гарнизонам. Было интересно вновь и вновь обустраиваться, знакомиться, приспосабливаться. Миллион впечатлений, романтическая влюблённость.

— Давай о чём-нибудь другом. Я рад за тебя. Нужно было просто написать, признаться. Я страдал, мучился.

— Не думай, что мне было наплевать. Брак по залёту не такое уж и счастье. Муж привлекал всех самок, приближающихся к интимной зоне на опасное расстояние. Он изменял с первого дня. Я знала…

— Маша, мне это не интересно. Хочешь, чтобы я тебя пожалел? У меня не осталось эмоций в отношении тебя, которые хотелось бы до сих пор реализовать.

— Но ведь ты не женат, я знаю.

— Что с того? Прошлое не вернуть. Рад видеть тебя, но это совсем другие эмоции. Лучше не начинай.

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

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

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

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

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

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

Что может быть хорошего, когда тебя больше всего в жизни волнует, где и как достать денег, чтобы купить холодильник или шкаф, заплатить за съёмную квартиру, с кем оставить завтра ребёнка, во что его обуть-одеть, чем накормить, а ещё кредит, будь он неладен…

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

Золотая медаль, гордость школы. Если бы не её глаза, если бы она сама не представилась… узнать в раздавшейся, распухшей толстушке миниатюрную Катеньку было невозможно.

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

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

Дальше слушать было противно. А ведь вначале она рассказывала, что создала жизнь-сказку.

Катька танцевала со всеми по очереди. Парни нисколько не стеснялись мять её объёмные выпуклости, целовать в шею и уединяться в подсобке.

Витька Буланов был не просто навеселе – пьян. Он не буянил, но слишком громко жаловался на жизнь.

— Помните, на выпускном я мечтал, что стану выдающимся архитектором, как отец. Тогда я представлял, как лет через десять… А он, зараза, взял и ушёл на пенсию, или его ушли. Без разницы. Про него тут же забыли. И что… а ничего… Кое как получил диплом, работаю в архиве. Баба, жена моя, свалила с сыном к родителям. Скоро тридцать, а я, как бабка, из сказки про разбитое корыто…

— Забей, дружище. Не ты один… в жопе… Да мы все, если хочешь знать… все подранки. Нам сулили весь мир, обещали счастье коллективного и индивидуального творчества, а ничего такого для нас нет. Самое страшное, что учителя и родители про это знали. Знали и молчали. Думаешь у меня по-другому? Дудки!

— Не бузи, Дементьев, значит, не старался.

— Как бы ни так, друг мой Андрюха, пытался я, землю рыл. Только в романах всё сходится, в жизни иначе. У каждого генерала есть сын, которому назначено, по праву рождения быть генералом. А ты будешь тянуть за него лямку, работать и жить на гроши. Диалектика, брат. Утешает лишь то, что нас таких много. Поэтому не зевай, бери от жизни всё, что можешь урвать.

По поводу фатально-упаднических реплик развернулся спор, участвовать в которых было не интересно. Я пошёл курить с Лариской Прониной и Лидой Фатеевой. Когда-то они были отличницами и спортсменками, выделялись идеальной стройностью, стремлением быть первыми.

Мне казалось, во всяком случае, так девчонки выглядели, что у них всё о-кей. Я надеялся хоть от них услышать истории взлётов.

Как же я оказался неправ.

— Почему ты весь вечер молчишь, Костя, не о чем рассказать?

— У меня всё в порядке. Живу, работаю. Как все…

— Да, мне бы твои проблемы…

— Чего, Лидуш, опять?

— А, надоело всё. Разведусь наверно. Пьёт и пьёт, скотина. Руки распускать начал. Ладно бы зарабатывал, за мой счёт живёт, гадёныш, а строит из себя султана Брунея. Как из сборной вышибли, так и сел на шею. А ведь я из-за него даже мастера спорта не получила. Работаю на фабрике, как проклятая, прихожу домой, а там… да что я говорю, кому… у самой не лучше, так ведь, Ларис? Но и это только цветочки…

— Ась, а ягодки?

— Залетела я, подруга. Поняла поздно, у меня же проблемы по женской части, сама знаешь… короче, аборт поздно делать.

— Да уж, не сладко. А мой благоверный всё в командировки на Байконур летал. Долетался, сука. Оказалось, у него там бабёшка и двое детей. Пришлось расстаться. А кому, скажи, я нужна с двумя детьми в ипотечной квартире? Серёжкиных алиментов даже на платежи не хватает. На зарплату учителя физкультуры не зажиреешь. Перспектив ноль, мужики как от чумной шарахаются.

— Да, подруга, дела. Костя, взял бы над Лариской шефство. Она девка горячая.

— Извините, девочки, пожалуй, пойду за стол. Не гожусь в спонсоры. Я… я обязательно по любви женюсь.

— Ну-ну! Мы тоже так думали. Жизнь обломает. Ничего, мы терпеливые, подождём. Если что, милости просим. Запиши адресок на всякий пожарный, вдруг пригодится. Судьба нынче никого не балует.

Вернулся в кафе, а там то же самое. Долги, ипотека, детский сад, болезни, разводы, измены. Бабы-бляди, мужики-козлы, любовники и любовницы, аборты, залёты, подгузники…

Одноклассники на полном серьёзе консультировали друг друга как быстро и без последствий снять тёлку, как облапошить и любовника, и мужа, как ничего не делая наколотить бабла, как жить в кредит, как получить выгодную ипотеку и материнский капитал, как устроиться работать в таможню или судебным приставом, как…

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

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

Кто-то, что-то …

Ни перспектив, ни радости, ни счастья…

Вместо целей и планов – безразличие и отчаяние.

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

Молодость импульсивна, романтична и беспечна, ошибки неизбежны. Всё так. Но разве сложно понять, что любовь и легкомысленные гулюшки не одно и то же, что от случайной беременности нужно предохраняться, что создавать семью на основе страсти – бред умалишённого, что расчёт на протекцию и авось – лотерея, что ипотека – афёра и рабство, что кредит выгоден только ростовщику, что дети – не шары в бильярде, что постоянно плыть по течению может только мёртвая плоть…

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

“Они сами всё испортили, думал я, – сами! У меня жизнь сложится иначе. Не позволю случайности вмешиваться в мою судьбу. Я всё сделаю так, как нужно, всё просчитаю до мелочей, всё…“

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

Звонок был слишком настойчивый, пришлось ответить. Я посмотрел на экран – Лиза, моя девушка. Я встречался с ней около двух месяцев.

Ничего серьёзного, нас сближала только сфера деятельности и общие интересы.

Мы весело и беззаботно проводили свободное время. Правда Лиза оставалась у меня на ночь пару раз, но никаких планов мы не строили.

Как же не вовремя она звонит.

— Извини, Лиза, мне неудобно говорить, я занят. Давай созвонимся завтра.

— Это срочно.

— Не выдумывай, извини, – я нажал на отбой.

Настойчивая трель зуммера заставила нервничать. Я опять ответил.

— Не смей бросать трубку, Полетаев! Ты обязан меня выслушать. Я залетела, что скажешь?

— Я… я… ты уверена? Да ладно… такого не может быть.

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

— Но ведь ты меня не любишь.

— Какое это имеет значение? У ребёнка должны быть родители. Рассчитываю на твою порядочность. У тебя, Костя, есть время подумать. Я на связи.

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

Отличная работа, все прочитано! Выберите