TGStat
TGStat
Qidiruv uchun matnni kiriting
Ilg‘or kanal qidiruvi
  • flag Uzbek
    Sayt tili
    flag Russian flag English flag Uzbek
  • Saytga kirish
  • Katalog
    Kanal va guruhlar katalogi Hududiy to‘plamlar Tematik to‘plamlar Платные каналы Kanallar qidiruvi
    Kanal/guruh qo‘shish
  • Reytinglar
    Kanallar reytingi Guruhlar reytingi Postlar reytingi
    Brendlar va shaxslar reytingi
  • Analitika
  • Postlarda qidiruv
  • Telegram'ni kuzatish
  • Targ‘ibot
    Yandex Business orqali reklama TGStat Agency orqali kanallarda reklama TGStat.ru saytida reklama
Microboard dev log

1 Aug 2024, 15:08

Telegram'da ochish Ulashish Shikoyat qilish

00:11
Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
00:47
Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Prev Next
Одна простая идея, чтобы улучшить производительность в 50 раз.

Платон однажды сказал: «Дайте мне точку опоры, и я переверну Землю». Эта мысль о силе рычага вдохновляла многих, в том числе и Бакминстера Фуллера, который развил эту идею в концепцию «Тримтаб». Вот что он сказал об этом:

Однажды меня сильно поразила мысль о том, что может сделать один маленький человек. Вспомните "Куин Мэри" — мимо проплывает весь корабль, а затем появляется руль. И на краю руля есть крошечная штучка, называемая Тримтабом.

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

Поэтому я сказал: называйте меня Тримтабом.


Эта идея Фуллера о том, что маленькие действия могут привести к большим изменениям, вдохновила нас в нашем проекте. У нас была функция для перетаскивания объектов по экрану. Когда объектов становилось много, всё начинало нереально тормозить. И тут мы подумали: "А что, если мы найдем свой тримтаб в коде? Ту маленькую деталь, которая может сильно улучшить работу всей системы?"

Это заставило нас по-новому взглянуть на нашу задачу. Вместо того чтобы полностью переписывать код, мы стали искать небольшие, но стратегически важные места для улучшений. Мы искали наш программный «тримтаб», который мог бы повернуть всю систему к лучшей производительности.

И вот что мы сделали:

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

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

3. Сделали небольшие, но эффективные изменения:

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

— Добавили механизм отложенного обновления (debounce), чтобы группировать множество мелких обновлений в одно более крупное. Это уменьшает количество перерисовок и обновлений состояния.

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

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

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

Вся эта магия вместе дала нам супер-быстрое перетаскивание объектов и показатели сравнимые (или даже лучше) с Miro. И знаешь что самое крутое? Мы не переписывали всю логику с нуля. Мы просто постоянно искали правильные маленькие рычажки — наши программные тримтабы.

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

А какие «тримтабы» вы находили в своей жизни для решения сложных проблем?

470 0 3 8
Katalog
Kanal va guruhlar katalogi Kanallar to‘plamlari Kanallar qidiruvi Kanal/guruh qo‘shish
Reytinglar
Telegram-kanallar reytingi Telegram-guruhlar reytingi Postlar reytingi Brendlar va shaxslar reytingi
API
Statistika API'si Postlar qidiruvi API'si API Callback
Kanallarimiz
@TGStat @TGStat_Chat @telepulse @TGStatAPI
O‘qish
Академия TGStat Telegram tadqiqoti 2019 Telegram tadqiqoti 2021 Telegram tadqiqoti 2023
Kontaktlar
Справочный центр Qo‘llab-quvvatlash Email Vakansiyalar
Har xil narsalar
Foydalanuvchi shartnomasi Maxfiylik siyosati Ommaviy oferta
Botlarimiz
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot