Войти
ПрограммированиеФорумГрафика

Оптимизация Direct3D приложений. (комментарии) (2 стр)

Страницы: 1 2
#15
23:30, 29 ноя. 2009

XaeroX
> У поумневших оптимизаторов есть одно замечательное свойство - они наотрез
> отказываются компилировать код, написанный под глупый оптимизатор, выдавая в
> лучшем случае килобайты варнингов, а в худшем - ерроров. Т.е. завтра танцы с
> бубном будут в любом случае.
именно поэтому я предпочитаю писать понятный код, который пусть сегодня будет на 10% медленнее, зато завтра его не надо будет переписывать и его будет куда проще поддерживать.

>ICL?
Intel C++ Compiler


#16
23:38, 29 ноя. 2009

Suslik
> именно поэтому я предпочитаю писать понятный код, который пусть сегодня будет
> на 10% медленнее, зато завтра его не надо будет переписывать и его будет куда
> проще поддерживать
Не факт, что написанный сегодня код завтра не устареет.
Да и строго следовать стандарту языка не так уж легко.
>Intel C++ Compiler
Ну я так и понял, что опечатка.

#17
23:42, 29 ноя. 2009

XaeroX
> Ну я так и понял, что опечатка.
да нет, почему
Intel C++ Compiler (also known as icc or icl) , http://en.wikipedia.org/wiki/Intel_C%2B%2B_Compiler

> Не факт, что написанный сегодня код завтра не устареет.
> Да и строго следовать стандарту языка не так уж легко.
я говорю о common коде, который устареет не раньше, чем устареет язык, на котором он написан.

#18
23:47, 29 ноя. 2009

Suslik
> да нет, почему
Понятно, буду знать. Я раньше только ICC видел.
>я говорю о common коде, который устареет не раньше, чем устареет язык, на котором он написан.
Коммон-код - да. А вот игровые движки в целом (о чем собсно комментируемая статья) устаревают очень быстро. В том числе с точки зрения архитектуры.
Взять тот же дум3 - там куча SIMD-оптимизированных функций, но они очень узкоспециальны. Стоит немного поменять архитектуру движка - и все они будут нуждаться в переписывании.

#19
23:50, 29 ноя. 2009

Suslik
> И, да, если ты и получишь выигрыш своих 3% на среднем по характеристикам оптимизации компиляторе
Если не получилось у тебя то это незначит что всё и всегда настолько плохо, не стоит впадать в крайности ;)

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

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

#20
23:52, 29 ноя. 2009

doc.
> Это совершенно неактуальная проблема, а вот реальный результат, частенько,
> можно получить "здесь и сейчас".
ок, переформулирую. у меня после изрядного времени, потраченного на попытки оптимизировать узкое место, перевод float->int, на компиляторе ICL10, результат отрицательный, буста производительности получить не удалось.

#21
23:54, 29 ноя. 2009

Suslik
Это может значить как то, что компилятор сам делает преобразование умнее, так и то, что он плохо компилирует ваши "попытки оптимизации". (:

#22
23:55, 29 ноя. 2009

Suslik
> ок, переформулирую. у меня после изрядного времени
Это в некой конкретной, специальной задаче, да и то, непонятно что и как ты там делал.

Правка: Также возможно там есть что-то, что принципиально ограничивает скорость выполнения кода, доступ к памяти например или еще чего, всякое бывает.

#23
0:02, 30 ноя. 2009

XaeroX
> Это может значить как то, что компилятор сам делает преобразование умнее, так и
> то, что он плохо компилирует ваши "попытки оптимизации". (:
ну, ассемблерные вставки оптимизатор, вроде, пропускает мимо ушей, оставляя как есть. так что второе маловероятно.

#24
0:08, 30 ноя. 2009

Suslik
> ну, ассемблерные вставки оптимизатор, вроде, пропускает мимо ушей, оставляя как есть.
Да, но вот цикл со вставкой он вряд ли развернет, по крайней мере не должен, в во избежание т.с.

Страницы: 1 2
ПрограммированиеФорумГрафика

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