ТОП способов Ускорить Код Python. На примере построения Фрактала Мандельброта в Pygame

Поделиться
HTML-код
  • Опубликовано: 13 янв 2025

Комментарии • 208

  • @mrvillst
    @mrvillst 3 года назад +69

    Тебя не остановить, столько роликов за короткий срок, круто) так держать)

  • @mihail-ln4rf
    @mihail-ln4rf 3 года назад +19

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

  • @pashahous
    @pashahous 3 года назад +28

    Супер, спасибо) давно хотел ускорить на питоне расчет и по путешествовать в фрактальном мире, но знаний не хватало. СПАСИБО за новую мотивацию) Расскажи еще о себе, чем занимаешься и твой путь в программирование, думаю всем будет интересно)

  • @TheLokomotivbj
    @TheLokomotivbj 3 года назад +7

    Всегда поражаюсь, когда на канале с, условно говоря, небольшим количеством подписчиков вижу такой офигенский контент. Спасибо огромное!))

  • @VarezVision
    @VarezVision 3 года назад +7

    Сам давно хотел сделать фрактал Мандельброта или множество Жюлиа на питоне с масштабируемостью и постоянным рендерингом, а тут вышел видос. Красивый код получился)
    Вот пара идей для проектов, было бы интересно увидеть их в твоем исполнении:
    - Система массового обслуживания с визуализацией
    - Моделирование перколяции в 2д и 3д. Выглядит очень красиво.

  • @ATtiny13a-PU
    @ATtiny13a-PU 3 года назад +7

    Раскраску мандельброта можно автоматически адаптировать, думаю даже объяснять не стоит, но например
    1) красить в HSV, где H зациклен, а SV подбираются под требования. Кода минимум, но вырвиглазно
    2) каждый цикл по градиенту спускаться по y ниже, а саму картинку по краям зациклить. Получится уникальная раскраска на долгие итерации вперёд
    3) использовать динамическую нормализацию уровней, просто выбирая случайные пиксели на экране и смотреть на минимум и максимум, а потом сглаживать эти параметры

  • @magicmc231
    @magicmc231 3 года назад +27

    Прекрасно, как всегда, правда, опять же, как всегда, сложно для понимания не на поверхностном уровне

    • @ohnocoder
      @ohnocoder 3 года назад +3

      Так надо быть программистом, чтобы понять.

    • @magicmc231
      @magicmc231 3 года назад +8

      @@ohnocoder так я не о коде, я о математической части

    • @ohnocoder
      @ohnocoder 3 года назад +1

      @@magicmc231 Понятно)))

    • @8nhuman8
      @8nhuman8 3 года назад

      @@magicmc231 и в чем сложность тут?) Или вы из тех погромистов, которые только скриптики горазды писать?

    • @magicmc231
      @magicmc231 3 года назад

      @@8nhuman8 в осознании того, как строится фрактал Мандельброта

  • @ВасилийШумилов-о8ь
    @ВасилийШумилов-о8ь 3 года назад +46

    Я вот вроде инженер и программирую немного, но это тот случай когда очень интересно но так и не понятно как рисуется фрактал Мандельброта.

    • @baukaalimgazy2989
      @baukaalimgazy2989 3 года назад +2

      Посмотри канал Оригинири, там есть понятное объяснение

    • @PrizrakZamkov
      @PrizrakZamkov 3 года назад

      @@baukaalimgazy2989 может онигири?

    • @MAXFOLLch
      @MAXFOLLch 3 года назад

      А зачем тебе этот сраный фрактал

    • @Ginto_O
      @Ginto_O 3 года назад

      Комплексные числа.

    • @ytka874
      @ytka874 2 года назад +3

      @@MAXFOLLch а зачем тебе этот сраный пайтон?

  • @funny_poco
    @funny_poco 3 года назад +6

    Класс, теперь благодаря тебе буду знать как ускорить код👍

  • @backer01
    @backer01 3 года назад +6

    Очень интересная тема! Решил проверить производительность на своём ПК (cpu - ryzen 5 2600 4 Ghz, gpu - gtx 1050 ti):
    1) max_iter = 30: cpu ~ 160 fps, cuda ~ 220 fps, vulkan ~ 230 fps, opengl ~ 25 fps, metal ~ 160 fps
    2) max_iter = 3000: cpu ~ 8.5 fps, cuda ~ 110 fps, vulkan ~ 140 fps, opengl ~ 23 fps, metal ~ 8.5 fps
    res = 800, 450 в обоих случаях

    • @StandaloneCoder
      @StandaloneCoder  3 года назад +1

      Если не трудно, сделайте тест для res = 1600, 900

    • @backer01
      @backer01 3 года назад +3

      @@StandaloneCoder для res = 1600, 900:
      1) max_iter = 30: cpu ~ 38, cuda ~ 59, vulkan ~ 57
      2) max_iter = 3000: cpu ~ 2.1, cuda ~ 30, vulkan ~ 37

    • @StandaloneCoder
      @StandaloneCoder  3 года назад +1

      благодарю!

  • @span4ev
    @span4ev 2 года назад

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

  • @alexd253
    @alexd253 3 года назад +6

    cpu: i5 4570; gpu: gtx1060 6gb
    arch=cuda dtype=np.uint32 fps=158
    archo=cuda dtype=np.uint8 fps=230
    P.S. Спасибо за крутой ролик )

  • @alexkapralov7967
    @alexkapralov7967 3 года назад +5

    Хотелось бы увидеть курс по OpenCV на этом канале! :)

  • @pashahous
    @pashahous 3 года назад +8

    Только пожалуйста, не уходи на год, как в прошлый раз) и создай телеграмм канал где на голосование выставляй темы новых роликов или направлений для идей)

  • @lordorbit
    @lordorbit 3 года назад +4

    11:10 обойти проблему точности (не знаю есть ли альтернатива в numba) можно с помощью библиотеки decimal

  • @sledleo
    @sledleo Год назад +1

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

  • @drum-divancover7119
    @drum-divancover7119 3 года назад +4

    Я из тех для кого это просто набор букв..и ничего не понял но очень интересно..)

  • @SHKIPPER989
    @SHKIPPER989 3 года назад +3

    Как говорят ничего не понятно но очень интересно)

  • @АлександрСмелый-ц1щ
    @АлександрСмелый-ц1щ 3 года назад +9

    Как человек, который самостоятельно изучает python уже 19 дней, могу с уверенностью утверждать - это все очень интересно, но, пока, не понятно :-)

  • @lordorbit
    @lordorbit 3 года назад +10

    Я заметил, что изменения названия окна более затратное, чем отрисовка фпс с помощью font.render

    • @ATtiny13a-PU
      @ATtiny13a-PU 3 года назад

      всё равно разница мала... наверное.
      По крайней мере я делал на С++ в связке сначала с SFML, а потом и голой OpenGL изменение титула (названия) окна. Было около 1-5 тысяч fps. Разницу не почувствовал.
      А ещё можно обновлять лишь только раз в несколько кадров, например раз в 10, тогда ещё больше разница уменьшиться.

    • @lordorbit
      @lordorbit 3 года назад

      @@ATtiny13a-PU думаю медленная скорость установки заголовка окна в 90% зависит от библиотеки

    • @ATtiny13a-PU
      @ATtiny13a-PU 3 года назад

      @@lordorbit, а он обновляет каждый кадр? Мне кажется нет

    • @lordorbit
      @lordorbit 3 года назад

      @@ATtiny13a-PU 1:40

    • @ATtiny13a-PU
      @ATtiny13a-PU 3 года назад

      @@lordorbit, ну ладно, но думаю это решаемо, как я и сказал.

  • @ЕвгенийКрасилов-о9о

    Очень круто! Про taichi не знал, теперь буду знать)

  • @sladge17
    @sladge17 3 года назад +5

    Отличное видео. Небыло желания проводить вычисления на pytorch? Синтаксис у него практически такой-же как в numpy, но есть возможность отправлять массивы на вычисления в видеокарту.

  • @bees_make_honey
    @bees_make_honey 2 года назад

    Я не понял зачем мне эта информация, но было круто!

  • @kiki_van_gog
    @kiki_van_gog 2 года назад

    жаль, перестал выпускать, но мне очень нравится математика в видео)

  • @Zeding_Stuff
    @Zeding_Stuff 3 года назад +1

    именно такие видео и мотивируют меня дальше изучать питон

  • @ivanbudaev724
    @ivanbudaev724 2 года назад +1

    Я пока понял только процентов 30 происходящего на экране. Но очень интересно

  • @куруш79
    @куруш79 Месяц назад

    Посмотрю когда подучу змею и будет много времени

  • @olegbakan1845
    @olegbakan1845 3 года назад +1

    Не зря поставил лайк не глядя. )

  • @Мем-ц2й
    @Мем-ц2й 2 года назад +2

    Все запустилось и работает отлично! Но есть проблема, я копался в коде и менял числа, но что бы я не делал возникает такая проблема: с какого-то момента оно просто перестает рендерить само множество мандельброда и оно превращается в черные пиксели (на приближении) скорость рендера тоже изменял на большие числа и долго жал, но не помогает. В чем проблема?

  • @АлександрСоловьев-ч8л9щ

    2:05. Объяснение мнимой еденицы неправильное. i**2=-1,а то что там написано будет равно модулю - 1, то есть 1. |a|=(a**0.5)**2

    • @backer01
      @backer01 3 года назад

      Там всё верно

    • @StandaloneCoder
      @StandaloneCoder  3 года назад

      Ваше утверждение по поводу модуля неправильное. Квадратный корень из -1 даёт модуль |i|, раскрывая который получаем два комплексных числа i и -i, то есть
      sqrt(-1) = | i | = i и -i, проверяем:
      (-i)**2 = -1 и i**2 = -1

  • @FDR_alex
    @FDR_alex 3 года назад +1

    Шикарно! Спасибо!

  • @ThA891
    @ThA891 3 года назад +4

    Тот случай, когда я бы остановился на 0.25 FPS )))

  • @sviteribuben7245
    @sviteribuben7245 3 года назад +1

    круто! отличный codestyle

  • @shadow_blader192
    @shadow_blader192 3 года назад +1

    Скорость света
    Класс

  • @ВасяДомин-ъ8п
    @ВасяДомин-ъ8п 3 года назад +2

    Честно говоря не думал, что на питоне такое возможно

    • @ATtiny13a-PU
      @ATtiny13a-PU 3 года назад +9

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

  • @dedinside768
    @dedinside768 5 месяцев назад

    Музыка на фоне имба

  • @cyber-sander
    @cyber-sander 3 года назад

    Хорошее видео. Кстати, если не сложно, что за музыка на 6:22 и 8:03?

  • @菊の花を愛しています
    @菊の花を愛しています 3 года назад +1

    Очень красиво!!!

  • @SenaKashivadzaki
    @SenaKashivadzaki 4 месяца назад

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

  • @АртёмТарасевич-у9с
    @АртёмТарасевич-у9с 3 года назад

    Можно провести тест с GPU Google Colab, ну если дойдёт до этого можно сравнить с библиотекой JAX и ускорением на TPU

  • @elnurbda
    @elnurbda 3 года назад

    Большое спасибо за видеоролик!

  • @evgenyivakhnik7344
    @evgenyivakhnik7344 2 года назад

    Спасибо, было интересно!

  • @bocik2854
    @bocik2854 3 года назад

    почему-то удаляется комментарий. Я писал про библиотеку купай, Numpy вместе с Cuda. Стоит также её затестить. Или использовать pytorch тензоры на GPU

  • @PhilippTemkin
    @PhilippTemkin 3 года назад

    Ну скажи плиз какой голосовой двиг ты используешь для озвучки ?

  • @ThA891
    @ThA891 3 года назад +12

    Не, ну 0,25 кадров в секунду я считаю нормально! А то зажрались понимаешь в последнее время, 120 кадров им подавай во всех тайтлах.

  • @tiktokhub490
    @tiktokhub490 3 года назад

    можно ли напиать программу увеличивающую скорость других программ путем внедрения или модификации
    если есть то буду тестить на "пенсиуме-кор-дуо" ради интереса максимума
    спасибо за видео!

  • @seoonlyRU
    @seoonlyRU 3 года назад

    ловим лайк от СЕООНЛИ

  • @Sfinxsx
    @Sfinxsx 3 года назад

    Новое увлекательное видео! УРА!!! )))

  • @levshx
    @levshx 2 года назад

    Standalone посмотри nim-lang и nimpy, может понравится

  • @CbIHOK32
    @CbIHOK32 3 года назад +1

    а если использовать комбинацию python+numpy+numba+taichi что станет с FPS?

    • @backer01
      @backer01 3 года назад +2

      Я так понимаю нет смысла использовать таичи и намба всесте, они оба JIT

  • @aleksbotler5358
    @aleksbotler5358 3 года назад +1

    Давай, повтори ещё раз, что Питон медленный! :-D

    • @gishack-xr4ju
      @gishack-xr4ju 3 года назад +2

      пайтон медленный.

    • @ATtiny13a-PU
      @ATtiny13a-PU 3 года назад

      очень медленный и не подходящий под такого рода задачи. А то что в видео не полная замена компилируемых ЯП, даже не близко. И дело даже не в скорости.
      Или ты хочешь сказать, что перегрузка операторов в С++, это фигня, лучше использовать недоязык модицикации питона для компиляции намбой

  • @MosGhell
    @MosGhell 2 года назад

    Что из этого надо добавить в другой код

  • @androker185
    @androker185 3 года назад

    Спасибо за видео!

  • @gameworld9522
    @gameworld9522 3 года назад +1

    Сделай видео где ты будешь отвечать на вопросы, но через программу которую ты сделаешь сам, сначала когда ты ее запускаешь на экран выводится рандомный комментарий и ты говоришь ответ и так далее... Только он ещё будет проверять это вопрос или нет, допустим по знаку "?" или как нибудь по другому

  • @hibryy
    @hibryy 3 года назад

    Однозначно подписываюсь)

  • @МихаилТарасов-щ3з
    @МихаилТарасов-щ3з 3 года назад

    Это прекрасно!

  • @sanchopansa8956
    @sanchopansa8956 3 года назад

    Что за музыка на 6:29

  • @shadow_blader192
    @shadow_blader192 3 года назад +4

    Но зачем рисовать каждый раз если можно нарисовать один раз , но когда изменишь положение или увеличение тогда ещё раз?

    • @StandaloneCoder
      @StandaloneCoder  3 года назад +2

      иначе никак

    • @shadow_blader192
      @shadow_blader192 3 года назад

      @@StandaloneCoder почему?

    • @rad9587
      @rad9587 3 года назад

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

    • @maynix7685
      @maynix7685 3 года назад

      а смысл? все равно ты не заметишь этого

    • @ohnocoder
      @ohnocoder 3 года назад

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

  • @tylerdurden____
    @tylerdurden____ 2 года назад

    У меня у одного не получается скачать пайгейм и нампай, пишет invalid syntax?
    Помогите плиз

    • @backer01
      @backer01 2 года назад +2

      Нужно это в консоли (cmd или powershell), а не в интерпретаторе питона вводить

  • @pey1862
    @pey1862 3 года назад

    А может СЕРВЕР для игры сделаете?

  • @RO4A
    @RO4A 3 года назад

    Интересно а можна все ето использовать вместе

  • @Amerando
    @Amerando 3 года назад

    Посоветуй пожалуйста Книги по питону, и по математике/алгебре/ высшей математике для чайников. Как ты учил все эти формулы?

    • @StandaloneCoder
      @StandaloneCoder  3 года назад +1

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

    • @Amerando
      @Amerando 3 года назад

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

    • @StandaloneCoder
      @StandaloneCoder  3 года назад +2

      @@Amerando если тратить по несколько часов в день, то скорее всего за год уже выйдете на достойный уровень)

  • @ЕгорКорнюшкин-б2х
    @ЕгорКорнюшкин-б2х 2 года назад

    А есть смысл ускорять если потом скомпилировать pyInstaller-ом?

    • @n1lton
      @n1lton 2 года назад

      PyInstaller упаковывает, а не компилирует

  • @VirtexR
    @VirtexR 3 года назад

    Numba только математические штуки ускоряет или условно там парсинг или генерация чего либо(какого-нибудь бесшовного мира в майнкрафте) тоже быстрее будет?)

    • @StandaloneCoder
      @StandaloneCoder  3 года назад +2

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

  • @ASW_StormOfficial
    @ASW_StormOfficial Год назад

    ООо ты замахнулся на многопоточность?)))))))))))))

  • @vsweetbread
    @vsweetbread 3 года назад

    0:19 А где в Python динамическая типизация?

    • @StandaloneCoder
      @StandaloneCoder  3 года назад

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

    • @vsweetbread
      @vsweetbread 3 года назад

      @@StandaloneCoder разве это не явность/неявность?

    • @StandaloneCoder
      @StandaloneCoder  3 года назад

      @@vsweetbread Нет. Кстати в Python динамическую типизацию порой называют "утиной" типизацией

  • @MrNagios
    @MrNagios 2 года назад

    вау, очень круто!!

  • @Никитас-ч6и
    @Никитас-ч6и 3 года назад +3

    То есть, если запороться с библиотеками, то из питона получится почти нормальный язык. Ясно.

    • @MEZENchannel
      @MEZENchannel 3 года назад

      У питона есть динамическая типизация.

    • @Divercant
      @Divercant 3 года назад +2

      Он и есть нормальный язык, просто его предназначение было иным, а библиотеками расширили спектр направлений. Есть библиотека для конвертации в С - там ваще всё летать будет, но это уже не то, что показано в ролике. Наверное ножом для резки хлеба неудобно разделывать гуся, не так ли?

    • @Никитас-ч6и
      @Никитас-ч6и 3 года назад

      @@Divercant, ну тогда и Pascal с Алгязом нормальные, просто не так понятые.

    • @Divercant
      @Divercant 3 года назад +1

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

  • @_kulio_
    @_kulio_ 3 года назад +1

    Сразу говорю я начинающий.
    Попытался запустить, выдало кучу ошибок.
    Я подправил код и остались вот эти ошибки, почему не хочет запускаться?:
    Exception has occurred: URLError
    During handling of the above exception, another exception occurred:
    File "C:\Users\incar\Downloads\Mandelbrot-set-Realtime-Viewer--main\main.py", line 20, in __init__
    ti.init(arch=ti.cpu)
    File "C:\Users\incar\Downloads\Mandelbrot-set-Realtime-Viewer--main\main.py", line 100, in __init__
    self.fractal = Fractal(self)
    File "C:\Users\incar\Downloads\Mandelbrot-set-Realtime-Viewer--main\main.py", line 114, in
    app = App()

    • @victk64
      @victk64 2 года назад

      В __init__ и тому подобных нужно 2 подчеркивания

  • @maldinixus1
    @maldinixus1 3 года назад

    не могу установить taichi (

  • @rusrus6353
    @rusrus6353 3 года назад

    Он вернулся!!!

  • @КОБчик
    @КОБчик 3 года назад

    Как сделать из питоновского файла exe-шник небольших размеров

    • @SoDeepASMR
      @SoDeepASMR 3 года назад +1

      почитай про pyistaller

  • @AndrewOBannon
    @AndrewOBannon 2 года назад

    Win 7 x64,
    AMD FX(tm)-4350 Quad-Core processor 4.20 Ghz,
    8 Gb RAM,
    Nvidia GeForce GTX1660.
    max_iter=30;
    cuda: 84,
    opengl: 22,
    cpu: 54.
    res=1600,900:
    cpu: 10-11.
    cuda: 20
    opengl: 5
    vulkan: 6.

    • @XpIOHdeJIb3000
      @XpIOHdeJIb3000 2 года назад

      стыдно должно быть таким компом пользоваться

    • @XpIOHdeJIb3000
      @XpIOHdeJIb3000 2 года назад

      @@AndrewOBannon почему 11-го когда есть 12-е?

  • @Тимур-н5и7ь
    @Тимур-н5и7ь 3 года назад

    Крутое видео!

  • @bogdan6720
    @bogdan6720 3 года назад

    Круто

  • @Petya_KM
    @Petya_KM Год назад

    maximum recursion depth exceeded in update self.render()

  • @zorger1138
    @zorger1138 3 года назад

    за taichi респект +

  • @interface5900
    @interface5900 3 года назад +1

    7:10 Пж, не делай такие громкие вставки

  • @opendrago8912
    @opendrago8912 3 года назад +1

    Живоооооооооооооооооооооооооооой

  • @пустой-и2д
    @пустой-и2д 3 года назад

    Очень годно

  • @adikbimyrza1902
    @adikbimyrza1902 3 года назад

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

  • @RenderDragon
    @RenderDragon 3 года назад

    Блин, а можно такую же оптимизацию только на Майнкрафт?)

  • @АрсмикАрсмурзаев-у9х

    можешь скинуть гит

    • @StandaloneCoder
      @StandaloneCoder  3 года назад

      Ссылка на код в описании под видео

  • @ВладиславГришин-ш7ш
    @ВладиславГришин-ш7ш 3 года назад +1

    так к любому языку можно сделать быстрый вынос - не имеющий отношение к языку

  • @MosGhell
    @MosGhell 2 года назад

    Ответьте пожалуйста

  • @ArtamonHelloPython
    @ArtamonHelloPython 3 года назад +1

    Привет

  • @keyh0le
    @keyh0le 3 года назад

    taichi - скорее всего "тай чи"

  • @h3po469
    @h3po469 3 года назад

    Ай! Как же больно видеть математику sqrt(-1)=i.

  • @tablenkov4993
    @tablenkov4993 3 года назад +1

    Самые долгие вещи на планете: *показывает ЖИВЫХ существ*

  • @BorisCode
    @BorisCode 2 года назад +1

    i7 11700k, RTX 3060Ti
    OpenGL - 23 fps
    Vulcan - 55 fps
    CPU - 180 fps
    Cuda - 210 fps
    Cuda 1600x900 - 60 fps
    Похожие результаты были на 1060 и 3070 тут, в комментариях. Как я понял - это не проблема сложности вычислений, а проблема скорости работы с памятью. Скорость падает на 86 строке, где screen_array присваивается screen_field.to_numpy().
    Если закомментировать перевод массива в нампай:
    Cuda на 800 - 500 fps
    Cuda 1600 - 160 fps
    Если просто пустой апдейт поставить:
    Cuda 800 - 700 fps
    Cuda 1600 - 160 fps
    Судя по всему, для большого разрешения уже упор происходит в blit.

    • @StandaloneCoder
      @StandaloneCoder  2 года назад

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

    • @BorisCode
      @BorisCode 2 года назад

      ​@@StandaloneCoder Емнип, в PyGame есть GLSL и можно просто один раз закинуть в буфер шейдер и текстуру и получать Over9000 fps на обновлении.
      Или использовать PyOpenGL - мне кажется, там по-быстрее даже будет.
      Правда, тогда бы не получилось показать ускорений от Numpy и Numba, простоту Taichi и в целом тема сместилась бы с "как ускорить python" на "как выбирать язык под задачи, чтобы получать лучшую скорость".

  • @ДмитрийЛысов-х1з
    @ДмитрийЛысов-х1з 3 года назад

    2560x1440, nvidia 3070, 20 fps)), но видюха загружается всего на 19%

    • @StandaloneCoder
      @StandaloneCoder  3 года назад

      а какая архитектура? ti.cuda или ti.vulkan?

    • @ДмитрийЛысов-х1з
      @ДмитрийЛысов-х1з 3 года назад

      @@StandaloneCoder cuda, она больше всего фпс выдала

    • @StandaloneCoder
      @StandaloneCoder  3 года назад +1

      @@ДмитрийЛысов-х1з если изменить тип данных на uint8 - должна еще больше выдать

  • @naviodinson
    @naviodinson 3 года назад

    Но это вообще не легко!!!! Аааааа

  • @Atomy.Qazaqstan
    @Atomy.Qazaqstan 3 года назад

    Лучше использовать pyglet.

  • @nikolaydd6219
    @nikolaydd6219 2 года назад

    Диз за резкие звуки..

  • @Егор-ц9э2х
    @Егор-ц9э2х 3 года назад +1

    Лучшее ускорение питона, это его перепись на с++

  • @ATtiny13a-PU
    @ATtiny13a-PU 3 года назад +6

    Не понимаю разницу между
    1) выучить компилируемый язык
    2) разогнать питон до компилируемого языка
    Это звучит так, как будто
    - 3D принтер освоить тяжело, но он быстрый и печатает сложные формы
    - 3D ручку освоить просто, но работать ей медленно и ничего сложного не слепишь
    Твоё решение: взять 3-х осевой манипулятор, прикрепить туда 3D ручку с надеждой, что будет также легко, но ты получишь 3D принтер.
    Это так не работает... хочешь 3D принтер, бери 3D принтер, хочешь скорость/удобство отладки/библиотеки компилируемых ЯП, бери подходящий ЯП.

    • @artemTHISNAMEALREADYTAKEN
      @artemTHISNAMEALREADYTAKEN 3 года назад +1

      Критикуешь - предлагай.

    • @ohnocoder
      @ohnocoder 3 года назад

      @@artemTHISNAMEALREADYTAKEN Да.

    • @artemTHISNAMEALREADYTAKEN
      @artemTHISNAMEALREADYTAKEN 3 года назад

      @AlexSky-coder слишком расплывчато

    • @ИмяФамилия-о4т5р
      @ИмяФамилия-о4т5р 3 года назад +1

      Если между этими двумя вариантами действительно нет никакой разницы, почему бы не выбрать Python? :)

    • @ohnocoder
      @ohnocoder 3 года назад

      @@ИмяФамилия-о4т5р Лол, да, почему же?

  • @carpy101
    @carpy101 3 года назад

    а

  • @igorseledtsov7345
    @igorseledtsov7345 Год назад

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

  • @Ivan_Balakirev
    @Ivan_Balakirev 2 года назад +1

    синтезированный голос-фу

  • @victk64
    @victk64 2 года назад

    Ошибка:
    taichi.lang.exception.InvalidOperationError: Please call init() first
    Строка:
    self.screen_field = ti.Vector.field(3, ti.uint8, (WID, HEI))