@djangoproject · Post #585 · 23.03.2018 г., 02:43
https://www.fullstackpython.com/celery.html #Celery is a task #queue implementation for Python web applications used to #asynchronously execute work outside the HTTP request-response cycle.
Hashtags
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #711 · 24.12
Графика в видеоиграх выглядит, как мультфильм, и отличается от графики в реальном мире либо на фотографии. Причина этого такая: чтобы нарисовать картинку, нам нужно знать, в каких местах какое количество света и цвета. Но свет в реальности — очень сложная фигня, и по факту он отражается от всего подряд, в том числе от незеркальных и неметаллических поверхностей. Ярким летним днём у вас в квартире светло даже там, куда не доходят напрямую солнечные лучи через окна. Трёхмерные мультики и компьютерные эффекты в кинофильмах мы уже научились делать похожими на фотографию, потому что там у нас на каждый кадр есть сколько угодно времени: можно очень подробно обсчитать сцену и определить, как и где расположен свет. Пусть вывод одного кадра займёт час процессорного времени (а рендерят мультики и фильмы на фермах), не страшно, зато красиво выходит. С играми всё хуже: получать картинку нужно сразу. В игре компьютер не знает заранее, в какую сторону я повернусь и на что посмотрю, поэтому нужно уметь вычислять внешний вид изображения на основе геометрии трёхмерной сцены. И делать это для комфортной игры как минимум 60 раз в секунду. Поэтому такое вычисление производят очень приблизительно, чтобы было быстро. Это смотрится неплохо, и мы способны узнать в игре человека, оружие, машину, но всё равно любым невооружённым глазом такое легко отличить от реальности. С развитием технологий и увеличением мощности видеокарт получил распространение метод трассировки лучей: из "глаз" игрока испускается невидимый луч, рассчитываются его отражения и преломления от всех поверхностей на некоторую глубину, а потом смотрят, попал ли этот луч в источник света. Зная его траекторию, мы можем "вернуть" в виртуальную камеру правильное количество света и правильный цвет. Понятно, что таких лучей должно быть очень много, и вот тут современные видеокарты с их параллельными вычислениями уже начинают неплохо себя показывать. Я попробовал Portal with RTX, его можно бесплатно скачать в Стиме, если у вас есть базовый Portal. Да, игра 15-летней давности, как её ни причёсывай, совсем круто не будет. Тем не менее, специалисты из Nvidia поработали над освещением, и местами очень приятно наблюдать, как картинка начинает выглядеть более правильно с точки зрения реальной физики. Массового внедрения технологии, видимо, не стоит ожидать, пока половина геймеров не обзаведутся топовыми видеокартами. И в целом графика впечатляет меньше, чем демка Матрицы. Но всё равно крайне любопытно. #games
Hashtags
Търсене: #asynchronously
@djangoproject · Post #585 · 23.03.2018 г., 02:43
https://www.fullstackpython.com/celery.html #Celery is a task #queue implementation for Python web applications used to #asynchronously execute work outside the HTTP request-response cycle.
Hashtags
@djangoproject · Post #262 · 16.02.2017 г., 07:24
http://masnun.com/2015/11/20/python-asyncio-future-task-and-the-event-loop.html On any platform, when we want to do something #asynchronously, it usually involves an #event loop. An event loop is a loop that can register #tasks to be executed, execute them, delay or even cancel them and handle different events related to these operations. Generally, we #schedule multiple async functions to the event loop. The loop runs one function, while that function waits for #IO, it pauses it and runs another. When the first function completes IO, it is resumed. Thus two or more functions can #co_operatively run together. This the main goal of an event loop.