|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.07.2010, 17:36 | #1 |
Форумчанин
Регистрация: 08.10.2009
Сообщений: 112
|
OpenGL...Игры без тормозов...Как?!
Как?! Как можно сделать игру, которая не будет тормозить?!
Я попытался сделать два самолётика - одним управляешь, другой летит вперёд самостоятельно. 2D. Кол-во полигонов в каждом самолётике не больше 5. Самолётики одинковые. Никаких текстур. Обновление каждые 24 кадра. Какого хрена нагрузка на цп 90%?!! Это так бесит потому что я хотел сделать игру на канве - нагрузка по максимому. Говорили канва это бред, юзай OpenGl или DirectX. Там намного быстрее и лучше графика. Я прочитал этот долбанный OpenGL, но тормозит ещё сильнее! Это бесит! Я конечно понимаю, может не доучил и не дописал какую нибудь функцию и по эотму тормозит. Но больше всего вероятно из-за многочисленных вычислений с tmemo. Дело в том что все координаты полигонов у меня записаны в мемо. Для того, что бы сдвинуть свой самолётик в какую-либо сторону, нужно проделать около 10 операций с задачей новых координат. Эти операции производятся в основном так: мемо-strtofloat-+XY-floattostr-мемо Если тормоза из-за мемо, то с помощью чего и где хранить информацию для вывода на экран? Помогите. зы: 4 дня писал и оказалось хуже чем на канве...бесит!!!! зы: если управляешь только своим самолётиком то нагрузка не болье 5% о_О
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
Последний раз редактировалось saggy; 02.07.2010 в 17:39. |
02.07.2010, 18:29 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а вы как GL инициализируете?
а вы в играх выводите информацию на экран?)) сомневаюсь, так что попробуйте не выводить, храните инфу в нормальных переменных, и эти переменные выводите в label(а не храните все в тексте) тогда будет лишь IntToStr(и подобное) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 02.07.2010 в 18:35. |
02.07.2010, 18:41 | #3 | |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Цитата:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
02.07.2010, 19:23 | #4 | |
Ищу работу
Форумчанин
Регистрация: 16.02.2007
Сообщений: 269
|
Цитата:
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
|
|
02.07.2010, 19:37 | #5 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
А я всегда говорил, что начинать программировать с кнопочек-формочек - зло
пыщь
|
02.07.2010, 20:23 | #6 |
Реанимируюсь...
Участник клуба
Регистрация: 19.07.2007
Сообщений: 1,445
|
saggy, скачайте с интернета любой простой пример работы с OpenGL и запустите у себя. Если и он будет тормозить - может у вас стоят криво драйвера OpenGL'овские. Если без тормозов - бока где-то у вас в коде.
Правильно заданный вопрос, всегда содержит в себе ответ. Как у вас реализовано управление? Через keypress?
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе... P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows" Последний раз редактировалось AlDelta; 02.07.2010 в 20:26. |
02.07.2010, 21:53 | #7 |
Форумчанин
Регистрация: 08.10.2009
Сообщений: 112
|
Ого, спасибо всем за советы )))
Зы: не надо говорить что я сошёл с ума, пользуясь мемо. я не знал что он медленный. Дрова у меня "прямо" стоят. Вот я заменил мемо на массив строк, и ура! нагрузка уменьшилась до 5% Спасибо за советы а насчёт того что б под каждый тип свою переменную...долго возиться и плохо запоминается и вообще не воспринимается на вид, меня устраивает теперь скорость массива строк.
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
|
02.07.2010, 22:05 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
поверьте массив данных(структур и тд, куда лучше строк).
потом когда у вас будет много данных, время на конвертацию станет серьезным. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
02.07.2010, 22:54 | #9 |
Форумчанин
Регистрация: 08.10.2009
Сообщений: 112
|
хм...над этим стоит задуматься. Если у меня будет столько объектов, что превысят 70% нагрузки, я перейду, конечно, на массивы по отдельным типам.
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
|
02.07.2010, 22:55 | #10 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Это нужно делать на начальной стадии проекта - когда у вас накопится огромное количество объектов вы просто не захотите все переписывать.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
игры без графики (Delphi + Flash\ActionScript) | RUSt88 | Общие вопросы Delphi | 3 | 12.02.2010 01:12 |
Продолжая тему тормозов компа | doniyor | Операционные системы общие вопросы | 5 | 15.12.2009 18:51 |
Хочу начать писать игры на OpenGL | lionbeast | Помощь студентам | 2 | 02.10.2009 11:04 |