<MyRusakov.ru />

Создание игр на Unreal Engine 5

Создание игр на Unreal Engine 5

Данный курс научит Вас созданию игр на Unreal Engine 5. Курс состоит из 12 модулей, в которых Вы с нуля освоите этот движок и сможете создавать самые разные игры.

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

Помимо самого курса Вас ждёт ещё 8 бесплатных ценных Бонусов: «Chaos Destruction», «Разработка 2D-игры», «Динамическая смена дня и ночи», «Создание динамической погоды», «Создание искусственного интеллекта для NPC», «Создание игры под мобильные устройства», «Создание прототипа RPG с открытым миром» и и весь курс «Создание игр на Unreal Engine 4» (актуальный и в 5-й версии), включающий в себя ещё десятки часов видеоуроков.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Что такое "дебаунсинг" и "троттлинг"?

Что такое "дебаунсинг" и "троттлинг"?

Дебаунсинг (debouncing) и троттлинг (throttling) — это техники оптимизации, которые используются для управления частотой выполнения функций, особенно в контексте событий, таких как ввод пользователя, прокрутка страницы или изменение размера окна. Они помогают уменьшить нагрузку на систему и улучшить производительность приложения.

Дебаунсинг (Debouncing)

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

Пример использования дебаунсинга

function debounce(func, wait) {
    // Переменная для хранения идентификатора таймера
    let timeout;

    // Возвращаем новую функцию, которая будет вызываться вместо оригинальной
    return function(...args) {
        // Очищаем предыдущий таймер, если функция была вызвана снова до истечения времени ожидания
        clearTimeout(timeout);

        // Устанавливаем новый таймер, который вызовет функцию через указанное время (wait)
        timeout = setTimeout(() => {
            // Вызываем оригинальную функцию с переданными аргументами и текущим контекстом (this)
            func.apply(this, args);
        }, wait);
    };
}


// Пример использования дебаунсинга для обработки ввода пользователя
const inputElement = document.getElementById('searchInput');

function handleInput(event) {
    console.log('Ввод пользователя:', event.target.value);
}

const debouncedHandleInput = debounce(handleInput, 300);

inputElement.addEventListener('input', debouncedHandleInput);

В этом примере функция handleInput будет вызываться только после того, как пользователь перестанет вводить текст на 300 миллисекунд.

Троттлинг (Throttling)

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

Пример использования троттлинга

function throttle(func, limit) {
    // Переменная для хранения ID последнего таймера
    let lastFunc;
    // Переменная для хранения времени последнего вызова функции
    let lastRan;

    // Возвращаем новую функцию, которая будет вызываться вместо оригинальной
    return function(...args) {
        // Сохраняем контекст вызова, чтобы применить его к оригинальной функции
        const context = this;

        // Если функция еще не была вызвана (lastRan не задано)
        if (!lastRan) {
            // Вызываем функцию с текущим контекстом и аргументами
            func.apply(context, args);
            // Запоминаем время вызова функции
            lastRan = Date.now();
        } else {
            // Очищаем предыдущий таймер, если он был установлен
            clearTimeout(lastFunc);

            // Устанавливаем новый таймер, чтобы функция была вызвана спустя оставшееся время до лимита
            lastFunc = setTimeout(function() {
                // Проверяем, прошло ли достаточное количество времени с последнего вызова
                if ((Date.now() - lastRan) >= limit) {
                    // Если прошло, вызываем функцию с тем же контекстом и аргументами
                    func.apply(context, args);
                    // Обновляем время последнего вызова
                    lastRan = Date.now();
                }
            }, limit - (Date.now() - lastRan));
        }
    };
}

// Пример использования троттлинга для обработки прокрутки страницы
window.addEventListener('scroll', throttle(function() {
    console.log('Прокрутка страницы');
}, 200));

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

Сравнение дебаунсинга и троттлинга

  • Дебаунсинг: Задерживает выполнение функции до тех пор, пока не пройдет определенное время без вызова этой функции. Полезен для обработки событий, которые могут происходить очень часто, но не требуют немедленного выполнения.
  • Троттлинг: Ограничивает частоту выполнения функции, выполняя её не чаще, чем раз в определенный интервал времени. Полезен для обработки событий, которые могут происходить очень часто и требуют регулярного выполнения.

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.