Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2008, 09:11   #71
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Урок xxx
Самая главная ошибка первых Русских разработчик, это то что они не убирали за собой мусор, что приводило к понижению производительности игры и к ее зависанию. Не поленитесь очистить память от мусора. Память нужно чистить после завершения уровня, при переходе в другую локацию и при завершении программы.

Простой пример
Bitmap.free;
Bitmap:=nil;
Kostia вне форума Ответить с цитированием
Старый 19.05.2008, 19:51   #72
RealSHELS
Форумчанин
 
Аватар для RealSHELS
 
Регистрация: 04.03.2008
Сообщений: 176
По умолчанию

А что разве когда програма закрывается то оно все само не уничтожается?
Все компоненты находятся на форме, нет формы, нет компонентов, зачем чистить.
RealSHELS вне форума Ответить с цитированием
Старый 19.05.2008, 21:31   #73
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Вам рано или поздно придется работать с переменными, хранящими в себе большие области данных, например TBitmap, после завершения работы программа удалит переменную, но не данные в ОЗУ, на которые она ссылается.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 20.05.2008, 15:58   #74
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

А помоему Delphi за собой убирает. Это если самому память выделять, то тогда самому и чистить, а если средствами Delphi то она сама освободит. Освобождение памяти после себя это одно из достоинств Delphi (и некоторых других языков) и один из недостатков например C++.
Вобщем от языка зависит и от того как память выделяется.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 20.05.2008, 17:51   #75
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
А помоему Delphi за собой убирает. Это если самому память выделять, то тогда самому и чистить, а если средствами Delphi то она сама освободит. Освобождение памяти после себя это одно из достоинств Delphi (и некоторых других языков) и один из недостатков например C++.
Вобщем от языка зависит и от того как память выделяется.
Именно так, ...стандартные вызовы и создание переменных, без вмешательства пользователя в сакральные их алгоритмы после завершения за собой Delphi чистит, ...но мы уже раскрыли достаточно секретов повышения скорости вывода графики ). Постепенно в программе начинающего игростроителя перемешаются стандартные методы и "ручные", среди всего множества легко запутаться и не "убрать за собой" в нужных случаях. Kostia призывает исключить случайное "замусоривание" памяти, которое действительно может привести к падению программы (или более серьезным последствиям), путем принудительного ее очищения, даже если это может и не требуется. Все должно быть освобождено! ...это правило номер 1 и у меня, что касается графики.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его

Последний раз редактировалось Beermonza; 10.06.2013 в 15:59.
Beermonza вне форума Ответить с цитированием
Старый 21.05.2008, 13:28   #76
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Когда я делал Аканоида, я не освобождал устройство и после запусков 15-20 игры, вся виндозовская GDI полетела: на рабочем столе иконки не отображались, в папках вместо иконок муть разная была, не отображались элементы пуска и т.д. А не освобождение поверхностей с картинками вызывало тормоза в игре и др. играх и решить эту проблему можно было только перезагрузкой компьютера.
Теперь освобождение ресурсов у меня на первом месте.
Kostia вне форума Ответить с цитированием
Старый 25.05.2008, 18:31   #77
anton14
Форумчанин
 
Аватар для anton14
 
Регистрация: 19.04.2008
Сообщений: 150
По умолчанию

Подскажите,пожалуйста, как мне реализовать постоянное движение обьекта через Timer1. Допустим пользователь ввел с клавиатуры "up"
обьект непрерывно двигается вверх, соответственно "down" вниз и тд.
anton14 вне форума Ответить с цитированием
Старый 25.05.2008, 20:08   #78
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от anton14 Посмотреть сообщение
Подскажите,пожалуйста, как мне реализовать постоянное движение обьекта через Timer1. Допустим пользователь ввел с клавиатуры "up"
обьект непрерывно двигается вверх, соответственно "down" вниз и тд.
Создайте переменные типа Boolean. На OnKeyDown придавайте одной из переменных True остальным - False. В таймере напишите условия, если переменные принимают True, то выполняйте смещение в нужном направлении на заданное число.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его

Последний раз редактировалось Beermonza; 25.05.2008 в 20:11.
Beermonza вне форума Ответить с цитированием
Старый 25.05.2008, 20:32   #79
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от anton14 Посмотреть сообщение
Подскажите,пожалуйста, как мне реализовать постоянное движение обьекта через Timer1. Допустим пользователь ввел с клавиатуры "up"
обьект непрерывно двигается вверх, соответственно "down" вниз и тд.
Вернись в этой же теме на несколько страниц назад, вот сюда, и читай начиная оттуда.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 25.05.2008, 22:35   #80
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

anton14 может будут уточнения к вопросу? Если ищется алгоритм перемещения типа Пакмэна, то OnKeyUp уже применять не нужно, а OnKeyDown несколько модифицируется. Именно это прослеживается в вопросе.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хорошие уроки Render Общие вопросы Delphi 9 15.09.2012 07:13
Акцесс вопросы новичков Yaga Помощь студентам 4 02.06.2008 00:16
Учебники для новичков в програмировании Рар Общие вопросы Delphi 6 08.01.2007 08:07