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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2007, 20:25   #301
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

ну тогда ассемблер вам в руки
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 вне форума Ответить с цитированием
Старый 23.11.2007, 20:30   #302
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Так и хотим
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 23.11.2007, 20:34   #303
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Ну, дык, type свой можно, но какой лучше? Если не трудно, черкни че-нить структурно.
то есть замена TBitmap? ничего сложного, только зачем?
львиную долю памяти занимает массив пикселей, а не пустые переменные
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 вне форума Ответить с цитированием
Старый 23.11.2007, 20:58   #304
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Вот я убрал такую строку из цикла прорисовки:
// указатель на начало строки пикселей
TexPointer:={текстура: Bitmap}.ScanLine[0];

...выполнил сохранение Pointer в момент загрузки картинки с файла:
// указатель на начало строки пикселей
Texture[i].Pointer:={буфер: Bitmap}.ScanLine[0];

в место старой строки вписал это:
// указатель на начало строки пикселей
TexPointer:=Texture[i].Pointer;

оптимизация на лицо, у меня 0% загрузки процессора, была 11%.
Хочу теперь избавиться от всего лишнего, вплодь до вставки ассемблера. Нужно много всего выводить на экран. Вот.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 23.11.2007, 21:23   #305
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию Метод создания Bitmap буфера.

Вот такую я использовал структуру:

Код:
procedure TForm1.CreateBitmap;
var
  BufBitmap: TBitmap;
  Scr: Pointer;
  SX, SY: Word;
  BInfo: tagBITMAPINFO;

begin
  SX:=W; // ширина буфера
  SY:=H; // высота буфера
  BInfo.bmiHeader.biSize:=sizeof(tagBITMAPINFOHEADER);
  BInfo.bmiHeader.biWidth:=SX;
  BInfo.bmiHeader.biHeight:=SY;
  BInfo.bmiHeader.biPlanes:=1;
  BInfo.bmiHeader.biBitCount:=24;
  BInfo.bmiHeader.biCompression:=BI_RGB;

  BufBitmap:=TBitmap.Create();
  BufBitmap.Handle:=CreateDIBSection(Canvas.Handle,BInfo,DIB_RGB_COLORS,Scr,0,0);
   ZeroMemory(Scr,SX*SY*3);
end;
...заполнение буфера идет в ОЗУ, а вот выводить в Image приходится так:
Код:
Image1.Canvas.Draw(0,0,BufBitmap);
Особого выигрыша не вижу и с PaintBox. Нужно выводить в форму, в какой объект быстрее незнаю, или метод не тот?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его

Последний раз редактировалось Beermonza; 28.03.2010 в 19:19.
Beermonza вне форума Ответить с цитированием
Старый 24.11.2007, 13:39   #306
Tarnym
 
Регистрация: 23.11.2007
Сообщений: 6
По умолчанию

Есть один вопросик. Где брали материал по созданию игр? поделитесь ссылачками-)
Tarnym вне форума Ответить с цитированием
Старый 24.11.2007, 19:01   #307
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Изучались только алгоритмы для решения конкретных задачь, и притом самые быстрые. Особо ничего игростроительного не изучалось, только небольшие статьи для поиска этих алгоритмов.
Вот, если поможет, ...есть немного не особо конкретного:
http://gamedev.ru/
http://durus.ru/
http://delphisources.ru/
http://www.delphirus.com/
http://www.orkclub.ru/lib_rpg.php?part=theory
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 25.11.2007, 12:05   #308
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Особого выигрыша не вижу и с PaintBox. Нужно выводить в форму, в какой объект быстрее незнаю, или метод не тот?
Ни в какой. Видеокарта, даже самая старая, в разы быстрее выведет.

Не имеет значения как именно смонтировать вывод постредством GDI, он GDI выводом и останется. Не скажу, что нельзя ускорить, можно, но это ускорение не идет ни в какое сравнение со скоростью вывода видеокарты. Я уже молчу про визуальные эффекты.
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.11.2007, 15:59   #309
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

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

Под словами "видеокарта выведет" я имел ввиду использование OGL или DX. Ассемблером до видеобуфера добираться это вы уж как-нибудь сами
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 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уроки по созданию игр для новичков... -=DeS=- Gamedev - cоздание игр: Unity, OpenGL, DirectX 750 14.11.2017 20:26
Музыка программистов - как вы относитесь к АРИИ? Весёлый Жека Свободное общение 46 10.10.2008 22:32
Конкурсы по созданию игр на Delphi mutabor Свободное общение 0 15.06.2007 12:40
Работа по созданию ПО remix Фриланс 3 22.04.2007 11:00