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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2009, 21:26   #641
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Вот я уже показывал несколько раз как перекидывается массив пикселей из одного буфера в другой, это быстрее чем BitBlt, и к тому же ММХ:
Код:
asm
    push esi
    push edx

    mov ecx, BufLengthDiv
    mov esi, PointerBufScr
    mov edx, PointerZoneScr

  @@mix:
    movq      xmm0, [esi]     // buf -> в регистр
    movq      [edx], xmm0     // zone <- из регистра
    add esi, 8
    add edx, 8

    loop @@mix

    pop edx
    pop esi

    emms
  end;
Длина данных есть, указатели тоже, ...а вот как бы так снять указатель с формы, чтобы так же изящно перекидывать туда данные, или без обновления ничего не получится? ...у меня башка уже кипит )
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 12.02.2009, 21:15   #642
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
Есть же стандартные способы замера
А можно поподробнее?
Сделал две кнопки:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var i, a: integer;
begin
iTick:=gettickcount;
for i:=0 to 999999999 do
begin
  a:=a+a;
end;
ShowMessage(IntToStr(gettickcount - iTick));
end;

procedure TForm1.Button2Click(Sender: TObject);
var i, a: integer;
begin
iTick:=gettickcount;
for i:=0 to 999999999 do
begin
  a:=a*2;
end;
ShowMessage(IntToStr(gettickcount - iTick));
end;
При нажатии на первую кнопку выскакивает сообщение "360", на вторую - "1188"...
Что это и в каких единицах..?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 12.02.2009, 21:19   #643
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Цитата:
Сообщение от DomiNick
Что это и в каких единицах..?
Время выполнения кода в миллисекундах.
Сказал и загрустил от бесспорности своей правоты.

Последний раз редактировалось 0nni; 12.02.2009 в 21:24.
0nni вне форума Ответить с цитированием
Старый 12.02.2009, 21:47   #644
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Удобно...
В ближайшие выходные буду считать скорость выполнения различных функций...

По идее нужно разделить эту цифру на количество повторений цикла... И получится примерное время выполнения самой операции сложения или умножения...
Результат наверняка будет зависеть и от производительности самого компьютера...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 12.02.2009, 22:02   #645
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Разделив ты получишь очень маленькие числа которые сложно сравнивать, именно поэтому не сравнивается время выполнения time(a=a+a) и time(a=a*a(, а time(a=a+a)*k и time(a=a*a)*k.
Безусловно это будет зависеть от машины и от его текущего состояния. (загруженности)

Код:
var i, a: integer;
begin
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
iTick:=gettickcount;
for i:=0 to 999999999 do
begin
  a:=a*2;
end;
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_NORMAL);
ShowMessage(IntToStr(gettickcount - iTick));
А этот код выполнится еще быстрее, потому что мы выставили более высокий приоритет для потока. Для "чистоты эксперимента" рекомендую делать так.
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 12.02.2009, 22:07   #646
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Ясно, благодарю...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 18.02.2009, 10:55   #647
Kj_ZloyiQ
Заблокирован
 
Регистрация: 18.02.2009
Сообщений: 26
По умолчанию

Незнаю, что париться на счет создания игры. Ведь можно взять к примеру Quest3D и не морочить себе голову, ведь так вродь проще. Все готово, ток в максе или др. анимационных прогах необходимо рулить и все ) Эт не прикол, а возможно и правда. Ведь зачем как говориться: "Создавать велосипед второй раз? Ведь он уже, на сколько я знаю создан". Я еще не пробовал создавать игры на Delphi, но думаю можно справиться и без языка программирования. Кто против пишите, я с радостью выслушаю ваши комментарии. особливо опытные проги не проходите мимо, ведь и нам новичкам в программировании тоже хочеться создать чтот стоящее.

Последний раз редактировалось Beermonza; 18.02.2009 в 22:29.
Kj_ZloyiQ вне форума Ответить с цитированием
Старый 18.02.2009, 11:03   #648
Kj_ZloyiQ
Заблокирован
 
Регистрация: 18.02.2009
Сообщений: 26
Плохо

Цитата:
Сообщение от mager Посмотреть сообщение
Отлично желающие нашлись. Я предлагаю начать не 3D, а с 2D игр. Ведь не зная простого не создашь сложного! А то тут все анимация 3д графика, не чего подобного начнём с 2D приключения. Для начало определимся со сценарием. Пусть это будет магическое средневековье, с применением оружия и магий. Почему так, да потому, что код будет сложнее. Проффесионалы, можите тоже нам помочь с кодингом, потом, когда научимся создавать 2D игры, приступим к 3D. Итак наши цели создать игру с интересным геймплеем, графика тут роли не играет, нам надо набить руку. В на чале я смого задавать вопросы и находить решения, но потом мне понадобиться Ваша помощь, поэтому все принимайте участие. Для новичков - это полезный опыт, для проффесионалов - это оттачивание мастерства.
Приступим:
1)Надо создать оболочку.
Открываем делфи, создаём форму, во весь экран, вставляем туда название игры, пусть будет "magic warior", если хотите предложите другое название, это роли не играет. Создаём кнопки начать игру, выйти из игры. С кнопкой выйти из игры запускается процедура показ 2 формы, в ней 3 элемента Label,Button1,Button2. Вы уверены, что хотите выйти? Да нет. Вот и всё с процедурой выхода мы разобрались. Вставляйте Ваш вариант кода. Мы выберем лучший или сделаем симбиоз нескольких кодов. На сегодня всё завтра будем начинать игру! Спасибо за внимание.
А в чем говорится суть этих слов? Человек реально пытается помочь нам новичкам или просто придуривается? Для тех кто хочет создать игру советую научиться работать на Quest3D, для обучения рекомендую зайти на сайт:http://v3dm.narod.ru/оч хорошее изложение материала(писал спец в этом деле)
Kj_ZloyiQ вне форума Ответить с цитированием
Старый 18.02.2009, 18:00   #649
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

А за тем, что это "форум программистов"!
Основная цель, как вы не правильно предположили, не создать игру, а углубить\закрепить\приобрести знания и оставить много пищи для размышления (нам бы сюда математика еще).
Если бы вы прочитали посты, то увидели бы как много аспектов программирования затрагивает это "велосипед".
А вот теперь расскажите, что нового программист может почерпнуть работая с Quest3D?

зы. По поводу сайта, ссылки на чужие сайты рекомендую открывать в новом окне, а не во фрейме.
Сказал и загрустил от бесспорности своей правоты.

Последний раз редактировалось 0nni; 18.02.2009 в 18:20.
0nni вне форума Ответить с цитированием
Старый 18.02.2009, 22:38   #650
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Ничего, кроме правил пользования очередной проги, по сборке очередного клона, с несколько другими правилами поведения объектов. А что если есть возможность создать байк, а не скромно пользовать стандартный велосипед? ...и движки кто-то пишет, и пишет именно досконально разбирая примитивы, что мы собственно и делаем, показывая где "зарыты собаки" в тех или иных алгоритмах.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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