TGViewer
Григорий Дядиченко Григорий Дядиченко @dev_game · 2.66K subscribers
Post #1715 1.66K
Про IDisposable
https://www.youtube.com/watch?v=hIE8gkcfwUI

Видео неплохое, но на мой вкус не отвечает на главный вопрос. А зачем вообще использовать IDisposable. Тут условно написано "ваша игра небезопасна", но что это значит?

Во времена деревянных игрушек (когда у нас C++ был в основном) памятью нужно было управлять вручную. Потом появился boost, умные указатели, аналоги сборщиков мусора, но это всё было не сразу. Появились Java и .Net. И эти языки (в отличии от плюсов) сказали: "Не парьтесь за память, мы решим всё за вас". И в них реализованы сборщики мусора, которые сами манипулируют управляемой частью памяти. Супер, классно, удобно, меньше погружения в то, как вообще работает компуктер, больше абстракций, кайф. Только есть нюанс, иногда чтобы избежать утечек мы хотим всё же чем-то управлять вручную. В среднем это файлы, сетевые подключения, дескрипторы ОС, графические ресурсы. GC освобождает что-то автоматически, а метод Dispose даёт больше ручного контроля. То есть это явный механизм освобождения ресурсов в мире GC.

Безопасность тут весьма косвенная. Есть кибератаки в утечки ресурсов, утечки памяти и RaceCondition, если делать всё без финализаторов, но это больше про атаки на сервера. В среднем для игр это всё не нужно, так же как и использование unsafe. Поэтому знать полезно, знания лишними не бывают, но пригодится вам это крайне редко. И понятие безопасности там тоже косвенное. В этом в целом прикол клиентских приложений. Хотите безопасность - делайте тонкий клиент, потому что если мозги хранятся в клиентском приложений, к которому у пользователя есть доступ, то взлом дело техники. И тут не нужно париться о таких видах атак.

Прямое управление памятью, использование IDisposable и того же unsafe в продакшен разработке игр не особо применимо, поэтому я бы особо не углублялся в эту тему. Это как нас в универе учили ассемблерным вставкам на плюсах. Инструмент весьма мощный, но в реалиях бизнеса не нужный. Потому что никому особо не нужно реализовывать что-то столь оптимальное и сложное, что только один человек в компании понимает, а как это вообще работает то)

Это для очень узких задач с точки зрения разработки. Поэтому можно на эту тему особо не париться. И тут как в меме. Если хотите поспорить, можно сделать это в комментах 🙂

#новости
YouTube Твоя игра небезопасна! Как использовать IDisposable и using в Unity ⚡️⚡️⚡️ Полезные ссылки ⚡️⚡️⚡️ 🔎 https://yakovlevgamedev.ru/?utm_source=youtube - обучение разработке игр (старт записи 14 августа) 🔎 https://t.me/yakovlev_gamedev - основной telegram канал 📝Некоторое время назад я выпускал видео, где разбиралась база по…
  • 🔥 15
  • 😱 1
More from @dev_game
  1. Oct 1, 2026🤔 Как продвинуть игру? Я обещал. Я сделал. Получился большой документ с шагами и действия…
  2. Sep 29, 2026И тут продублирую раз прилетело несколько вопросов. Доступ к дневнику можно будет получить…
  3. Sep 29, 2026Да, чет не анонсировал. Остановил сбор. Ну в целом донаты показывают классические для меня…
  4. Sep 25, 2026Meta VR Glasses Посмотрел кратко о чём речь. Вспомнил скупой слезой свой концепт. Будем по…
  5. Sep 23, 2026Чисто магия, что я теперь самостоятельно могу сделать такой пак + ролик к нему :) И мне нр…
  6. Sep 22, 2026🚀 Как запустить игровой стартап и применить бизнес-опыт в геймдеве? 🚀 Высшая школа бизне…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →