Войти
ПрограммированиеФорумОбщее

Что быстрее (3 стр)

Страницы: 1 2 3 4 510 Следующая »
#30
11:59, 20 июля 2009

Executor
Я опять же думаю мало кто из вас реально оптимайзил реальнъй проект, где примерно тред строивший кадр тормозит на математике теней, на куллинге 10к обьектов из-за кеш-миссов и виртуальнъх функций.


#31
12:35, 20 июля 2009

ага, давайте все напишем в main()? зачем нам функции и методы? не будем развивать и поддерживать, будем ОПТИМИЗИРОВАТЬ!!!11

Извиняюсь, уж много ненависти сгенерировал, читая "бредокаменты" на стикерах. Того кто их писал, следует немедленно расстрелять.

#32
12:41, 20 июля 2009

Не нужно столько ненависти, мужик на стикерах правильно написал.
Но опять же, ценность и выигрыш от учёта этих оптимизаций сильно зависит от проекта, от платформы, и от контекста где этот код используется (сколько тысяч раз на кадр). Для кого-то это пук в воду, а для кого-то 5-10% ускорение.

#33
12:46, 20 июля 2009

Блин, оптимайзить надо там, где нужно, а не задротствовать до такой степени. Есть такие специальные программы, называются профилировщиками.
Опять же, как тут уже отмечалось, компилятор при необходимости все и так заинлайнит. А если уж хочется поумничать, всегда можно написать __forceinline.
ЗЫ: Единственное, где я согласен с тем мужиком, это в разборе 2-й функции. Или передавать 1 объект или массив, да. Но если массив, то никак не тупым голым указателем и не разыменовывать втупую внутри функции.

#34
12:47, 20 июля 2009

Z

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

#35
12:59, 20 июля 2009

DEN
понимаешь, когда надо шипицо и профайлер показываед что всйо ровным слоем размазано по не говнокоду то бодрости у тебя резко поубавляеца
San
см. выше.  в чом бредовость коментов?

#36
13:10, 20 июля 2009

kas
> понимаешь, когда надо шипицо и профайлер показываед что всйо ровным слоем
> размазано по не говнокоду то бодрости у тебя резко поубавляеца

Особенно интересно, когда есть код, который вызывается 1 раз в минуту - и ты его очень сильно начинаешь оптимизить :)
Если знаешь проект, введи опциональное отключние разных модулей - вот тебе и грубая прикидка

Z
> куллинге 10к обьектов из-за кеш-миссов и виртуальнъх функций.

Хотелось бы узнать, как куллинг 10К объектов связан с виртуальными методами ?
Или сцена  в 10К была линейным списком ? И никакой иерархии ?

#37
13:12, 20 июля 2009

innuendo
кулинг раз в минуту? шутишь смешно, пеши исчо

#38
13:14, 20 июля 2009

kas
> кулинг раз в минуту? шутишь смешно, пеши исчо
Вызов инвентаря 1000 раз в секунду ? Смешно. Смеши дальше :) А то что ты с утра тучки в Москве знаешь ли ...

#39
13:15, 20 июля 2009

innuendo
ты дебил?

#40
13:17, 20 июля 2009

kas
> ты дебил?

Призываю модератора к действию :)...

#41
13:26, 20 июля 2009

San
DEN
Успокойтесь.

innuendo
> Хотелось бы узнать, как куллинг 10К объектов связан с виртуальными методами ?
Ну, OOP, все дела. Так получилось, что некие per-frame per-object запросъ делаются через полиморфизм, тестили на PC, бъло незаметно медленее. Как оказалось, на других процессорах все не так.

>>И никакой иерархии
Есть йерархия, 10к в фрустуме.

#42
13:27, 20 июля 2009

innuendo
> Призываю модератора к действию
Мм, я как то солидарен с касегом, тъ давай если участвуеш, то более осмъсленно чтоли...

#43
13:37, 20 июля 2009

kas

> DEN
> понимаешь, когда надо шипицо и профайлер показываед что всйо ровным слоем размазано по не говнокоду то бодрости у тебя резко поубавляеца

Поучи отца ибасто.

#44
13:43, 20 июля 2009

Часто некоторые пишут и затачивают код под конкретную платформу (кастуют указатели как хотят, и т.п.). На вопрос "зачем говнокод пишешь?" отвечают, "уйди, я крутой, я оптимизирую, игра должна быть быстрой. и ваще, у нас pc-oriented game".
А потом ВНЕЗАПНО понадобилось компилять еще и под консоли, но образ мышления остался тот же. Получается так: "Ай как все плохо, все тормозит, а я же писал крутой код, я его оптимизировал". И нет, чтобы в этом месте задуматься, "а вдруг я написал говнокод", и поменять подход в корне, нет, проще взять и с удвоенными силами все начать брутфорсно оптимайзить, перейти на Си, углубиться в железячные траблы.
А ведь по сути, что PC, что XBox, что PS3, один хрен - компы. Короче, что я хотел сказать.. :) Не надо опускаться до частностей. Мыслить надо обобщенно.

ЗЫ Я заметил, что в геймдеве, особенно в отечественном преобладает метод тыка. "Так поменяем - не работает, а если так? О! работает и стало быстрее, оставим так. Пусть нечитаемо, пусть непонятно из-за чего оно стало быстрее. Заточено под конкретику и ладно. Мы же код не поддерживать будем, а юзать! Работает и ладно, что еще от кода надо".

Страницы: 1 2 3 4 510 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.