Задать вопрос
  • Артефакты в FurMark - это 100% неисправность видеокарты?

    @rPman
    Да это однозначно проблемы.

    Нет, не обязательно железо будет умирать, у меня дискретная видеокарта (древняя) так умирала больше года (позже я ее отдал другу тогда, она и у него еще долго работала)

    Если температура в пределах нормы (не выше 60 градусов) но есть артефакты то это проблемы с чипами памяти либо с самим процессором (типичная поломка - отслоившийся припой внутри - это говорят можно починить специальным прогревом)
    Ответ написан
  • Регистрация/вход пользователей с ролями на поддомены?

    @rPman
    универсально

    за авторизацию должен отвечать отдельный модуль, общий для всех запущенных проектов (красивый пример habr, авторизация проходит в отдельном домене account.habr.com которая действует на всех связанных проектах), авторизация к примеру oauth, после авторизации выдается токен, запрашиваемый между серверами при авторизации.
    Ответ написан
    Комментировать
  • Почему не ставится авто-таб в Far Manager?

    @rPman
    В far единственная настройка, отвечающая за автоматическую установку нужного количества пробелов в новой строке это - auto indent

    она выставляет такое же количество символов пробелов или табуляций (если стоит подмена пробелов на табы - опция expand tabs) что в строке выше

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

    Помню были плагины, дополняющие функционал по тому что делать в том или ином случае, например TrueTemplate или что то так, позволяет задавать правило что вставлять дальше в зависимости от текста или выбранного в меню пункта
    Ответ написан
    Комментировать
  • Можно ли использовать TCP протокол для игрового сервера?

    @rPman
    Во первых, собирай статистику по фреймам, смотри на графиках, почти наверняка это будут периодические пики с превышением времени на доставку данных

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

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

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

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

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

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

    Но главное, сетевой трафик в такой схеме значительно снижается, ведь рассылаются буквально только нажимаемые клавиши и изредка хеш-суммы состояния мира для валидации их корректности (все клиенты и сервер по завершению каждого фрейма должны сравнить состояния друг друга например путем вычисления хеш суммы по отсортированным объектам, всем или по какому то критерию, например попадающим в ячейку матрицы по координатам, если там происходили изменения)
    Ответ написан
    Комментировать
  • Как уменьшить картинку без потери качества в питоне?

    @rPman
    image.save(filename, 'JPEG', quality=90)
    где 90 - качество от 0 до 100, по умолчанию 75

    Если изображение состоит из большого количества пустого пространства, мало плавных градиентных переходов и вообще мало фотографического контента, но много текста и резких переходов цветов (нужны четкие границы) лучше выбирать формат PNG (в этом формате можно и фотографии хранить но не так эффективно)

    приведенные примеры лучше хранить в png
    Ответ написан
    Комментировать
  • Какую работу надо проделать для оптмизации сайта?

    @rPman
    Проблема явно не в сервере, повторное воспроизведение видео так же лагает, нагрузки на процессор нет, выглядит как глюк плеера (на linux лагает в 2-3fps в firefox, в chromium нет), при этом сама панорама, вращающаяся в фоне работает без единого лага.

    Совет, попробуй избавиться от mov формата (еще с древних времен его использование несло за собой кучу проблем), используй другие кодеки, начиная с mp4 h264 или webm

    Как вариант, чтобы не разбираться с проблемой, просто исключи штатный видеопроигрыватель (который пытается поворачивать окно с видео, что явно никому не нужно), присобачив его сверху всего сайта уже после его генерации, так к тому же проще будет внедрить сюда не свой плеер а стандартный youtube к примеру.
    Ответ написан
  • Как редактировать скрытый файл в Windows через Python?

    @rPman
    Флаг скрытый или системный отвечает исключительно за визуализацию в типовых программах типа консольной команды dir или проводника и не может отвечать за защиту от записи

    Точно других флагов нет? Поставь себе far и смотри информацию по файлу удобно.

    Защиту от записи может сделать флаг - только для чтения, он на столько считается устаревшим (но работающим даже на fat), что многие редакторы при его обнаружении на время сохранения файла его отменяют а потом возвращают, так как для системного администратора это создает больше проблем чем удобства, т.е. его уже не замечают но открыть на запись такой файл не получится
    Ответ написан
    8 комментариев
  • "Хрустит" звук при просмотре фильмов в онлайн - кинотеатре, как исправить?

    @rPman
    Почти наверняка хрипы это прерывы генерации звука в момент формирования изображения на экран в обход эффективных методов типа overlay, особенно это начинает быть заметно на fullhd+ разрешениях и при наличии нестандартных параметрах масштабирования... можно попробовать отключить красивости в системных настройках windows (свойства Мой компьютер, дополнительные параметры, быстродействие кнопка параметры или выбрать простую тему оформления)

    Протестируй работу в google chrome (и может chromium но надо смотреть), единственный наверное браузер с максимально полной поддержкой аппаратного ускорения даже там где оно не гарантировано (например linux со старым intel gpu, где официально поддержки нет)

    Все что я читал когда разбирался с проблемами на opera показывало что иногда приходится отключать поддержку ускорения gpu в opera://flags/#disable-accelerated-video-decode чтобы проблем стало меньше (но и разрешения выше fullhd становятся недоступны или дают слишком высокую нагрузку на железо), так как opera (да и тьма других типа тот же microsoft edge) основаны на chromium а гугл всеми силами усложняет добавление поддержки ускорения видео в него так как это конкурентное преимущество, поддержка эта не так полна как ожидается.
    Ответ написан
  • Как спарсить закрытую страницу на PHP?

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

    подробности смотри во вкладке network правая кнопка на запросе - копировать curl bash, там будет очень удобно и понятно все разложено по полочкам с примером
    Ответ написан
    Комментировать
  • Можно ли подключить несколько устройств сразу к bluetooth 5.0?

    @rPman
    bluetooth не должен ограничивать, но вот софт, установленный на смартфоне может просто не уметь этого.

    linux (и android) это - pulseaudio, это очень мощный и гибкий инструмент по работе со звуком и звуковыми устройствами, но на смартфонах устанавливается очень кастрированный инструментарий по ее настройке, но при наличии root все возможно (правда может оказаться что придется компилировать нужные пакеты)

    инструкции бери те что для linux, все что дает интерфейс можно сделать из командной строки и даже больше, просто придется копаться в документации
    Ответ написан
  • Какой ssd лучше всего будет для работы с мелкими файлами?

    @rPman
    Для мелких файлов смотри параметр IOPS (количество операций в секунду, чем больше тем лучше и к сожалению дороже)

    Так же, если размер файлов очень маленький (меньше 4кб), то смотри на размер сектора файловой системы по умолчанию (для маленьких дисков) размер сектора 4кб но внутренний сектор у дисков может быть 512б (реальное состояние можно получить на основе кропотливых тестов записи, и помним у ssd дисков может быть внутренний промежуточный буфер на запись, который может сильно увеличить значения для синтетических тестов но никак не помогать в реальной нагрузке)

    Часто люди тестируют и выкладывают свои тесты на основе записи в файл, не задумываясь о том с какими настройками отформатирован диск (и было ли выравнивание номера сектора при создании раздела)

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

    точные данные получишь только на основе тестов.

    p.s. выбор файловой системы может сильно повлиять на результат, например ntfs мелкие файлы может складывать в MFAT а не в своих секторах, полностью убивая все попытки в оптимизации.
    Ответ написан
    Комментировать
  • Как поменять объект в HTML при помощи JS DOM?

    @rPman
    Тебе нужно именно подменить или достаточно чтобы их видно было попеременно?

    На странице нужно создать два эелемента и P и TEXTAREA и по нажатию кнопок заполнять их содержимым и попеременно менять им стиль display на none и inline (или block в общем смотри по своим требованиям к отображению), скрывая и показывая только нужный элемент
    Ответ написан
  • Как подключиться к адресу ipv6 из сети ipv4?

    @rPman
    Воспользоваться публичными (в т.ч. бесплатными) провайдерами ipv6, teredo или системой 6to4 у некоторых провайдеров это уже работает и даже есть поддержка в роутерах (но фаервол настраивать придется)
    Ответ написан
    Комментировать
  • Как сделать так, чтобы в Python переменная изменилась через час?

    @rPman
    на каждой итерации цикла смотри текущее время и сравнивай его с сохраненным в переменной временем запуска, как только разница станет больше требуемого периода изменяй значение своей переменной и сохрани как то этот факт, чтобы последующая итерация не сделала это еще раз (для этого можно либо использовать еще одну переменную типа boolean либо выбрать какое то значение для переменной, в которой хранишь время запуска цикла.. например None
    Ответ написан
    Комментировать
  • Как будут юридические последствия разработки vpn приложения в России и публикации его на Playmarket?

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

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

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

    Если что Россия тут ничего не изобретает. К сожалению это норма. Отличный пример показало поведение SEC в борьбе с зарождающейся криптоэкономикой, когда первая популярная dex биржа на эфире (кажется etherdelta) была атакована через наказание ее разработчика (он был оштрафован на небольшую сумму, кажется сотни тысяч долларов, и еще публично благодарил sec за то что его не сильно 'насиловали', советую поискать эту историю) или что происходит с попытками создать ETF на основе криптовалют (если что там нет ни грамма крипто.. и децентрал... но обыватели считают их разрешение формой продвижения криптовалют среди толстосумов)

    Пока вы не мешаете, никто к вам не полезет.

    Разработка кода VPN не может быть наказуемой, в России необходим злой умысел и потерпевший. Т.е. если в последствии появится потерпевший, получивший к примеру убытки из-за именно вашего софта, то вы пойдете по делу либо как свидетель либо как участник, в зависимости от возможности доказать умысел.
    Ответ написан
    Комментировать
  • Почему виснет комп на низкой температуре?

    @rPman
    Я бы нес сдавать комп по гарантии
    в идеале исключить проблемы с софтом, протестировав его на чистой системе или аже к примеру загурзившись с usb/livecd linux
    Ответ написан
    1 комментарий
  • Какой оптимальный алгоритм для однозначного определения слагаемых в сумме?

    @rPman
    Если представить стоимость отдельного заказа (в копейках) в 2-ричной системе счисления (набор бит) и каждый заказ должен устанавливать только свой бит (брать младшие биты, установив остальные в 0), то сумма этих чисел в младших разрядах будет аналогично битовой операции OR, т.е. по итоговой сумме можно будет однозначно понять, какой заказ был включен в нее.

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

    Пример, берем младшие 4 бита для адреса (возможность одновременно быть в обработке 4-ем заказам)
    1 - 10110001 цена 177р
    2 - 01100010 цена 98р
    3 - 11110100 цена 244р
    4 - 00011000 цена 24р
    если платежка пришла по 3-ем заказам, например 1+2+4 то это даст сумму 299р - 100101011, смотрим на младшие биты, установлены 1,2 и 4


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

    Логично что это подойдет только если заказов мало, например 2^10 это всего 10.24р

    К сожалению если не добавить какого то еще знания о возможностях группировки заказов, то это никак не оптимизировать
    Ответ написан
    1 комментарий
  • Где взять старые версии oracle database и патчи к ним?

    @rPman
    https://www.oracle.com/database/technologies/oracl...
    Previous Database Release Software

    Oracle Database 10.2, 11.x, 12.x, and 18c are available as a media or FTP request for those customers who own a valid Oracle Database product license for any edition. To request access to these releases, follow the instructions in Oracle Support Document 1071023.1 (Requesting Phys... from My Oracle Support.

    ну или на торенте
    Ответ написан
    Комментировать
  • Стоит ли вкладываться в красный диплом?

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

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

    Поэтому тратить время и силы именно на красный диплом - бессмысленная их трата.
    Просто закончить вуз - вот это еще может иметь значение (больше психологическое, в т.ч. для окружающих).
    Ответ написан
    Комментировать
  • При установке windows 10 требует драйвер диска?

    @rPman
    в подавляющем большинстве случаев установщик windows не видит либо флешки либо диска

    usb не видит, потому что флешка вставлена в usb3 порт а драйверов на контроллер в установщик не встроено, решается использованием usb2 портов (если есть), в биос вроде кстати даже должна быть опция, отключить поддержку usb3

    если не видит диска, то почти всегда спасает переключение контроллера диска в режим ide (отключаются фичи типа ssd trim и медленнее работает), позже, после установки драйверов, настройку в биос можно вернуть

    ну и правильное решение - искать драйвера и интегрировать их в установочный диск, например с помощью ntlite (там же и обновления можно интегрировать и много что включить выключить)

    p.s. еще более правильное (оно поддерживается производителем) обновиться с предыдущей версии ОС
    там кстати совет хороший - обновить биос
    Ответ написан
    Комментировать