Удомельский форум   ◊
www.udomlya.ru | Медиа-Центр | Удомля КТВ | Старый форум

Вернуться   Удомельский форум > Hard&Soft > Программирование
Справка Пользователи Календарь Сообщения за день
 
 
Опции темы Опции просмотра
Старый 14.05.2008, 21:45   #1
АлЁша
Местный
 
Аватар для АлЁша
 
Регистрация: 28.09.2007
Сообщений: 4,510
Вы сказали Спасибо: 418
Поблагодарили 1,097 раз(а) в 680 сообщениях
По умолчанию

Цитата:
Сообщение от Slyer Посмотреть сообщение
Есть пример, когда "узким местом" в исполнении становится ООП? Мне кажется очень небольшой выигрыш в 99% задач.
Думаю хороший движок современной 3D-игрушки невозможно сделать чисто в ООП.
ЗЫ я не спец по игрушкам, поэтому спорить не собираюсь, просто имхо
__________________
Каждому, каждому в лучшее верится...
Падает, падает ядерный фугас (с)
АлЁша вне форума  
Старый 14.05.2008, 22:06   #2
Pitty
Местный
 
Регистрация: 26.04.2006
Адрес: Удомля, гдежещё
Сообщений: 1,986
Вы сказали Спасибо: 676
Поблагодарили 257 раз(а) в 167 сообщениях
По умолчанию

Цитата:
Сообщение от АлЁша Посмотреть сообщение
Думаю хороший движок современной 3d-игрушки невозможно сделать чисто в ООП.
ЗЫ я не спец по игрушкам, поэтому спорить не собираюсь, просто имхо
Вы. наверное, будете удивлены, но на Igf за 2007 год было несколько докладов об объектных моделях для 3д игр. Особливо там интеловцы распинались по поводу своей парадигмы (фабрики) для многопоточных игр, точнее для игр, которые должны использовать несколько ядер. Они предлагают разработчику игр использовать их модель в которой разработчик создает "действия" и инфраструктура сама эти действия синхронизирует, диспетчеризирует и т.д. Судя по графикам - выигрыш опупенный.
__________________
I never saw a wildthing sorring for itself.
A small bird will drop frozen dead without ever felt sorry for itself.
Pitty вне форума  
Старый 14.05.2008, 23:39   #3
Messiah
Местный
 
Аватар для Messiah
 
Регистрация: 20.09.2007
Сообщений: 4,226
Вы сказали Спасибо: 1
Поблагодарили 6,561 раз(а) в 1,660 сообщениях
По умолчанию

По ходу порожняк гоняем. Чисто продекларирована идея, высказаны мнения (козе понятно, больше их не станет), однако чрезмерно затянувшаяся пауза с дальнейшим изложением, сильно смахивает на...лан, молчу, молчу. Интерес пропал.
Messiah вне форума  
Старый 15.05.2008, 11:14   #4
АлЁша
Местный
 
Аватар для АлЁша
 
Регистрация: 28.09.2007
Сообщений: 4,510
Вы сказали Спасибо: 418
Поблагодарили 1,097 раз(а) в 680 сообщениях
По умолчанию

Цитата:
Сообщение от Pitty Посмотреть сообщение
/... использовать их модель в которой разработчик создает "действия" и инфраструктура сама эти действия синхронизирует, диспетчеризирует и т.д. Судя по графикам - выигрыш опупенный.
Т.е. они получается фактически предлагают готовый движок в составе своей фабрики? Не думаю, что это идеальный универсальный вариант, особенно если учесть, что разработчик Майкрософт А как нужные графики выводить, это мы проходили :D Хотя честно говоря не слышал про эту фабрику, и объективно сказать не могу, так, общие рассуждения вслух :D
__________________
Каждому, каждому в лучшее верится...
Падает, падает ядерный фугас (с)
АлЁша вне форума  
Старый 15.05.2008, 12:07   #5
Slyer
Новичок
 
Регистрация: 04.05.2006
Сообщений: 14
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Цитата:
Сообщение от АлЁша Посмотреть сообщение
Думаю хороший движок современной 3d-игрушки невозможно сделать чисто в ООП.
ЗЫ я не спец по игрушкам, поэтому спорить не собираюсь, просто имхо
Движок современной игрушки - это практически всегда чистое ООП. =)
Slyer вне форума  
Старый 15.05.2008, 21:51   #6
Pitty
Местный
 
Регистрация: 26.04.2006
Адрес: Удомля, гдежещё
Сообщений: 1,986
Вы сказали Спасибо: 676
Поблагодарили 257 раз(а) в 167 сообщениях
По умолчанию

Насчёт робота.
Мне кажется, оба метода: функциональный и объектный, имеют право на существование в этом случае. Удобство функционально - не надо создавать лишней инфраструктуры, удобство ООП - маштабируемость, но тогда приходится заранее продумывать все будущие ходы, чего сделать, в принципе, не возможно.
Например, движение. Базовая функция: AsyncResult BeginMoveTo(float X, Float Y, Float Z, Float Velocity)
Которая в свою очередь вызывает несколько функций: определение текущих координат, определение возможности проезда к нужным координатам/построение пути. Как только задан путь, вызывается функция AddMovingTask, которой передается путь, и она возвращает в свою очередь объект AsuncResult (ну еще колбэк нужен). В то же время существует бесконечный цикл, назовем его диспетчер задач, который, получив задание начинает его в цикле выбирать. При этом, вполне чётко можно проследить модульность: если изменится базовый алгоритм движения, необходимо будет изменить только тело функции DoStep, которая вызывается диспетчером. Если мы найдем более совершенный алгоритм нахождения пути - поменять только алгоритм метода поиска пути....
Мне кажется, как раз в этом случае создание объектной модели было бы излишним. Если вы строите робота-игрушку, у вас и аппаратные средства будут соответствующие, если вы строите боевого робота - там уже тем более будет не хватать аппаратных средств, т.к. скорость реакции и точность расчёта повышаются в несколько раз (да и количество задач тоже). По моим данным, в роботостроении мало применяется ООП. (Правда они немного устарели, года на 3-4).
Кстати, это пример чисто теоретический или Вы имеете практические намерения? В)
Не знаю, почему вы так обозлились на конечные автоматы: ведь практически реализуемый автомат всегда можно реализовать/оптимизировать, причём есть автоматические алгоритмы для таких вещей (универсальные).
__________________
I never saw a wildthing sorring for itself.
A small bird will drop frozen dead without ever felt sorry for itself.
Pitty вне форума  
Старый 15.05.2008, 22:43   #7
Messiah
Местный
 
Аватар для Messiah
 
Регистрация: 20.09.2007
Сообщений: 4,226
Вы сказали Спасибо: 1
Поблагодарили 6,561 раз(а) в 1,660 сообщениях
По умолчанию

Цитата:
Сообщение от Pitty Посмотреть сообщение
...кусь...Не знаю, почему вы так обозлились на конечные автоматы: ведь практически реализуемый автомат всегда можно реализовать/оптимизировать, причём есть автоматические алгоритмы для таких вещей (универсальные).
Ой, ой...не к ночи ещё помянуть граф-схемы, автоматы Мили и Мура и теорему Баранова... и графы иже с ними.

Последний раз редактировалось Messiah; 15.05.2008 в 22:49.
Messiah вне форума  
Старый 18.05.2008, 12:36   #8
АлЁша
Местный
 
Аватар для АлЁша
 
Регистрация: 28.09.2007
Сообщений: 4,510
Вы сказали Спасибо: 418
Поблагодарили 1,097 раз(а) в 680 сообщениях
По умолчанию

Цитата:
Сообщение от Slyer Посмотреть сообщение
Движок современной игрушки - это практически всегда чистое ООП. =)
Именно поэтому я и писал: "хороший" движок. А то, что практически все нынешние движки сделаны в ООП и обуславливает то, что они все требуют топового "железа", да и на нем притормаживают, если по максимуму.
__________________
Каждому, каждому в лучшее верится...
Падает, падает ядерный фугас (с)
АлЁша вне форума  
Старый 18.05.2008, 14:17   #9
Pitty
Местный
 
Регистрация: 26.04.2006
Адрес: Удомля, гдежещё
Сообщений: 1,986
Вы сказали Спасибо: 676
Поблагодарили 257 раз(а) в 167 сообщениях
По умолчанию

Цитата:
Сообщение от АлЁша Посмотреть сообщение
Именно поэтому я и писал: "хороший" движок. А то, что практически все нынешние движки сделаны в ООП и обуславливает то, что они все требуют топового "железа", да и на нем притормаживают, если по максимуму.
Имхо в этом высказывании есть доля истины, но она небольшая. Тормозят они потому, что проектировались с расчётом на будущее. А загрузка железа выросла, потому что стали применяться новые, более совершенные, алгоритмы, более красивые и ёмкие текстуры да и количество полигонов выросло на несколько порядков. Если игра тормозит - надо купить новую видюху. Если вы купили новую видюху, вы будете гоняться за новыми играми, короые на вашей видюхе тоже будут тормозить. Замкнутый круг, который приносит прибыль как производителям видоускорителей (и другого железа), и фирмам, выпускающим играм. Вполне возможен даже некий сговор.
__________________
I never saw a wildthing sorring for itself.
A small bird will drop frozen dead without ever felt sorry for itself.
Pitty вне форума  
Старый 18.05.2008, 15:28   #10
Vulzscht
Местный
 
Аватар для Vulzscht
 
Регистрация: 26.04.2006
Адрес: Улица Свободы
Сообщений: 1,249
Вы сказали Спасибо: 4
Поблагодарили 73 раз(а) в 53 сообщениях
По умолчанию

Цитата:
Сообщение от Pitty Посмотреть сообщение
Имхо в этом высказывании есть доля истины, но она небольшая. Тормозят они потому, что проектировались с расчётом на будущее. А загрузка железа выросла, потому что стали применяться новые, более совершенные, алгоритмы, более красивые и ёмкие текстуры да и количество полигонов выросло на несколько порядков. Если игра тормозит - надо купить новую видюху. Если вы купили новую видюху, вы будете гоняться за новыми играми, короые на вашей видюхе тоже будут тормозить. Замкнутый круг, который приносит прибыль как производителям видоускорителей (и другого железа), и фирмам, выпускающим играм. Вполне возможен даже некий сговор.
влезу с небольшим оффтопом: самая лучшая игрушка - /bin/bash - требования минимальны, поле деятельности - необъемлемое, знаний требуется тоже немало, мозги поддерживает в актуальном состоянии для решения любых задач
кому непонятно - хоть консоль винды возьмите, правда графический режим убьется там только с консолью, а под юниксами - милое дело, иксы убил и вперед )))
__________________
Все, что когда-либо происходит, никогда не забывается. Даже если ты об этом не помнишь. (с)Spirited Away
Возможно, люди заблуждаются и совершают ошибки потому, что у них есть что-то важное. И это "что-то" по-настоящему дорого им.
Vulzscht вне форума  
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 06:26. Часовой пояс GMT +3.


Для улучшения работы сайта и его взаимодействия с пользователями мы используем файлы cookie. Продолжая работу с сайтом, Вы разрешаете использование cookie-файлов. Вы всегда можете отключить файлы cookie в настройках Вашего браузера.
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot