TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #610 · 27.10

Есть такая технология защиты от пиратства видеоигр — Denuvo. Не раскрывается, как именно она работает, но известно, что она очень агрессивная. Во-первых, сама по себе тяжёлая (к исполняемому файлу весом в сотню мегабайт может добавиться ещё 500). Во-вторых, она насилует компьютер постоянным шифрованием в реальном времени, из-за чего игра работает медленнее, чем работала бы без Denuvo. В-третьих, она ещё и насилует накопитель данных постоянными перезаписями. Есть несколько случаев, когда Denuvo сокращала срок службы SSD-накопителя, с которого запускали игру. Ну то есть, да, покупать лицензионную продукцию может быть плохо не только для вашего кошелька, но и для вашего оборудования. В первый раз Denuvo ломали месяц, взломали. Сейчас уже недели и дни. Чем популярнее игра, тем быстрее обычно она появляется на торрентах. Вот новая Gotham Knights, о которой я писал ранее, выложена на рутрекер этой ночью — спустя всего 5 дней после релиза. Казалось бы — зачем производителям игр так делать? Зачем ставить дорогую, тяжёлую, ухудшающую работу игры защиту, если её всё равно взломают за неделю? Дьявол тут в особенностях человеческой психики. Вся эта возня с защитой — как раз ради этих первых пяти дней. Разработчики даже сами выпускают патчи, которые через время защиту убирают. С одной стороны, многим людям важно поиграть в игру сразу после релиза, а не через неделю. С другой стороны, компаниям тоже выгодно продать игру людям в первые дни, пока на неё не вышла куча обзоров, видеопрохождений на ютубе и разной критики. То есть, смотрите, как выходит: • Человек готов заплатить за игру, и у него есть на это деньги, но только если не достанет её где-то ещё. Для меня это странно: либо мне продукт нравится, и я в любом случае его покупаю, либо не так нравится, и я в любом случае подожду условную неделю, чтобы скачать. Тут стоит сделать поправку на физическую возможность купить. Если компания сама отказывается брать мои деньги (например, блокировкой по гражданству), то никаких обязательств перед ней у меня на мой взгляд не сохраняется. • Человек готов купить игру, не имея о ней достаточно информации, даже точно зная, что через неделю может появиться информация, которая его от покупки отвадит. Для меня это понятно: люди покупают впечатления, но часть этих впечатлений может появиться после просмотра видео или прочтения статьи, а за оставшуюся часть впечатлений полную цену платить уже не готов. Но, возможно, я бы в такой ситуации скачал, понял, что мне понравилось, и купил бы. То есть наличие игры на торрентах в данном случае не превращает покупку в непокупку, а вот наоборот могло бы. #games

Hashtags

Резултати

Намерени 2 подобни публикации

Търсене: #multithreading

当前筛选 #multithreading清除筛选
djangoproject

@djangoproject · Post #95 · 11.07.2016 г., 12:14

https://docs.python.org/3/library/asyncio-dev.html#asyncio-multithreading 18.5.9.3. #Concurrency and #multithreading An event loop runs in a thread and executes all callbacks and tasks in the same thread. While a task is running in the event loop, no other task is running in the same thread. But when the task uses yield from, the task is suspended and the event loop executes the next task. To schedule a callback from a different thread, the BaseEventLoop.call_soon_threadsafe() method should be used. Example: loop.call_soon_threadsafe(callback, *args) Most asyncio objects are not thread safe. You should only worry if you access objects outside the event loop. For example, to cancel a future, don’t call directly its Future.cancel() method, but: loop.call_soon_threadsafe(fut.cancel) To handle signals and to execute subprocesses, the event loop must be run in the main thread. To schedule a coroutine object from a different thread, the run_coroutine_threadsafe() function should be used. It returns a concurrent.futures.Future to access the result: future = asyncio.run_coroutine_threadsafe(coro_func(), loop) result = future.result(timeout) # Wait for the result with a timeout The BaseEventLoop.run_in_executor() method can be used with a thread pool executor to execute a callback in different thread to not block the thread of the event loop. See also The Synchronization primitives section describes ways to synchronize tasks. The Subprocess and threads section lists asyncio limitations to run subprocesses from different threads.

GitHub Trends

@githubtrending · Post #14740 · 23.05.2025 г., 12:30

#python#async#asyncio#cross_platform#downloader#gui#multithreading#pyqt#pyside6#python#qt#software#streaming Ghost Downloader 3 is a fast, AI-powered download manager that works on Windows, Linux, and macOS. It speeds up downloads by splitting files into many parts and using multiple threads, dynamically adjusting to use your full bandwidth. It supports resuming downloads, proxy settings, SSL security, and clipboard monitoring for easy link capture. The interface is modern and user-friendly. This tool helps you download files more quickly and efficiently, with options to control speed and use proxies, making it ideal if you want faster, smarter, and more reliable downloads on your computer[1]. https://github.com/XiaoYouChR/Ghost-Downloader-3