March 29, 2024, 01:59
bigger smaller reset     1020px Wide width Full width Reset   * *

Gildor's Forums

  Homepage Facebook Read news on Twitter Youtube channel Github page
Welcome, Guest. Please login or register.
Did you miss your activation email?

« previous next »
Print
Author Topic: Околодевелоперские байки :)  (Read 14936 times)
vedmysh
Newbie
*
Posts: 14


View Profile
« Reply #15 on: February 11, 2010, 13:58 »

Ну это когда уже станет ясно, где он, критический код.
preemptive optimization is evil (c) Smiley Как то так.
Я против того, чтобы некритичный код писался гм ... "через одно место"

Передергиваешь мои доводы уходя в крайности Smiley
Если код не оптимизируется по самое "не могу" это не значит, что он писался через одно место.
Собственно практика показывает что практически "любой код можно улучшить возвращаясь к нему через несколько месяцев" (c)
« Last Edit: February 11, 2010, 14:06 by vedmysh » Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #16 on: February 11, 2010, 14:12 »

Передергиваешь мои доводы уходя в крайности Smiley
Я тебя здесь не трогаю Smiley
Это касается некоторых разработчиков с которыми я работал раньше и работаю сейчас. "Не критичный код - заюзаем STL". И т.п.

Quote
Если код не оптимизируется по самое "не могу" это не значит, что он писался через одно место.
Опять же, некоторые разработчики пишут более-менее нормальный код только когда они его "оптимизируют".
Logged
vedmysh
Newbie
*
Posts: 14


View Profile
« Reply #17 on: February 11, 2010, 14:58 »

Это касается некоторых разработчиков с которыми я работал раньше и работаю сейчас. "Не критичный код - заюзаем STL". И т.п.

Это тема опасная на мой взгляд Smiley
Очередной holy war из той же оперы, что и shadow maps vs shadow volumes, unreal warfare vs doom, etc.
Конкретно по стл - кто-то считает, что разрабатывать свои контейнеры хорошо и правильно.
с++ гики обычно говорят, что использование стл/буста с++ way и глупо создавать что-то свое.
ps А я люблю слово depends Smiley
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #18 on: February 11, 2010, 15:16 »

Где-то STL проканает (если проект простенький, или нетребовательный к ресурсам). Для того же XBox 360 Microsoft в лекциях предлагает забыть про STL и отказаться от многих распространённых C++ конструкций, считающихся "признаком хорошего C++ программиста" - больно уж большой просад производительности на таком коде - и причём объясняли на пальцах, почему.
Logged
vedmysh
Newbie
*
Posts: 14


View Profile
« Reply #19 on: February 11, 2010, 16:14 »

Где-то STL проканает (если проект простенький, или нетребовательный к ресурсам). Для того же XBox 360 Microsoft в лекциях предлагает забыть про STL и отказаться от многих распространённых C++ конструкций, считающихся "признаком хорошего C++ программиста" - больно уж большой просад производительности на таком коде - и причём объясняли на пальцах, почему.

Не зря же полявился stlport Smiley
А есть презентации или документашка от ms с этими рекомендациями ?
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #20 on: February 11, 2010, 16:42 »

А есть презентации или документашка от ms с этими рекомендациями ?
Увы, нет. Они в привате на сайте Microsoft, вход - только для зарегистрированных разработчиков для XBox 360. Там презентации с сопроводительным аудио (записи лекций).
Logged
vedmysh
Newbie
*
Posts: 14


View Profile
« Reply #21 on: February 11, 2010, 16:48 »

А есть презентации или документашка от ms с этими рекомендациями ?
Увы, нет. Они в привате на сайте Microsoft, вход - только для зарегистрированных разработчиков для XBox 360. Там презентации с сопроводительным аудио (записи лекций).

Где то у меня был не активированный купон на elearning от ms SmileySmileySmiley
Правда в разрезе w2k3. Наверное к xbox360 не пустят, если это вообще тот сервис Smiley
Logged
Skykila
Global Moderator
Sr. Member
*****
Posts: 266



View Profile
« Reply #22 on: August 14, 2010, 18:26 »

Где-то STL проканает (если проект простенький, или нетребовательный к ресурсам). Для того же XBox 360 Microsoft в лекциях предлагает забыть про STL и отказаться от многих распространённых C++ конструкций, считающихся "признаком хорошего C++ программиста" - больно уж большой просад производительности на таком коде - и причём объясняли на пальцах, почему.
А проблема не в идиотской конструкции самого x-box 360? С его критинским контроллером памяти, с его, как-бы это по мягче сказать, странным ядром? Ведь STL и Boost писали не для хитро-через-жопу-вывернутой архитектуры. Ведь никто не думал о том что к памяти можно обратиться только если видеокарта не занята. Естественно, получаются коллизии. Вы бы ещё про PS3 вспомнили. Там вообще чёрт ногу сломит.
Logged

I have the simplest tastes. I am always satisfied with the best.
Oscar Wilde
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #23 on: August 15, 2010, 01:08 »

На мой взгляд в XBox360 (и в PS3) всё нормально, просто там используется RISC-процессор, и отсюда вылезают некоторые тонкости программирования (процессор намного быстрее, чем память и т.д.).

STL в нормальных играх не используют. Boost - тем более.
По моей текущей работе мне приходится использовать boost - IMHO от него больше вреда, чем пользы. Авторы boost-а просто выпендривается с шаблонами, тогда как многие вещи можно было сделать на "обычном" C++ намного проще. Чего только стоит скорость компиляции, отладки, да и размер стека в boost-овом сериализаторе! Жуть ...
Есть разные мнения насчёт STL в играх. Я считаю, что ему там не место. Но спорить и отстаивать свою точку зрения не буду - зачем?
Logged
Skykila
Global Moderator
Sr. Member
*****
Posts: 266



View Profile
« Reply #24 on: August 15, 2010, 09:15 »

Но RISK сам по себе уродец, недаром его большие (ну в смысле intel, AMD) не используют, и не надо говорить мне о том, что мол де они (intel, AMD) ретрограды, мол де, за RISK будущие. За ним будущее уже лет, наверное, 20. Вы знаете есть такая девелоперская шутка: рейтресинг, несомненно, технология будущего, но она так и останется технологией будущего. Так и с RISK.
Кстати по PS3 я тоже могу много интересного порасказать.

А насчёт Boost'а я с ним дела почти не имел. Так, чуть-чуть, массивы циркулярные. Действительно такая гадость?

Кстати, начёт "хорошего стиля программирования", я что-то не понял. Мелкомягким не нравятся объектоориентерованный код что-ли, а то Unreal3 весь на объектах да на темплейтах  построен, или я не догоняю?

 
Logged

I have the simplest tastes. I am always satisfied with the best.
Oscar Wilde
Skykila
Global Moderator
Sr. Member
*****
Posts: 266



View Profile
« Reply #25 on: August 15, 2010, 09:42 »

И ещё, разве скорость компиляции такая уж серьёзная проблема? На моём C2Q 3,6Gz с установленным ключом /MP, проект на 2 гига объектов компилится минут 5 на релиз.
Кстати, уважаемый Гилдор, ты случайно с Intel Parallel Studio и Intel C++ Compiler дела не имел?
Если имел, не скажешь, ну и как стоит оно того или нет, а то я вот думаю, перейти на них.
Logged

I have the simplest tastes. I am always satisfied with the best.
Oscar Wilde
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #26 on: August 15, 2010, 11:35 »

Но RISK сам по себе уродец
Это что - значит, в Sony и в Microsoft (и в NVidia, которые сделали новую Tegra) сидят дураки, которые ничего не понимают?
Всё здесь нормально, просто архитектура иногда требует другого подхода для того, чтобы из неё "выжать" всё.
Quote
Кстати по PS3 я тоже могу много интересного порасказать.
Увы, я с PS3 знаком только по документации - туговато сейчас в Питере с консольным геймдевом Sad Наверное, есть только Saber Inetractive - но там очень сильно жмутся на нормальную зарплату Sad
Quote
А насчёт Boost'а я с ним дела почти не имел. Так, чуть-чуть, массивы циркулярные. Действительно такая гадость?
Ещё какая! По крайней мере - библиотека сериализации. cpp, который осуществляет сериализацию, у нас кромпилится секунд 20 (в Debug) - при этом самого кода сериализации там капля. Обнаружить ошибку очень тяжело - нужно смотреть лог компиляции страниц на 10-20. Если ошибка происходит во время выполнения - callstack будет глубиной около 100. В общем, сомнительная полезность. Плюс, все записанные данные предваряются тегами - то есть данные "пухнут" (шутка ли - у нас бинарный файл больше, чем текстовая COLLADA, из которой он подготовлен).
Я реализовывал сериализацию в umodel по принципу Unreal Engine - всё очень компактно и функционально (и быстро).
Quote
Кстати, начёт "хорошего стиля программирования", я что-то не понял. Мелкомягким не нравятся объектоориентерованный код что-ли
Нравится, почему же ... Просто писать надо "с умом" - нужно видеть, что из C++-кода получается. А на это очень мало кто обращает внимание.
Quote
а то Unreal3 весь на объектах да на темплейтах  построен, или я не догоняю?
Шаблонов в UE мало - буквально только пара контейнеров, и то они построена на базе нешаблонного класса, который содержит основную функциональность (шаблонный класс просто приводит типы).
И ещё, разве скорость компиляции такая уж серьёзная проблема? На моём C2Q 3,6Gz с установленным ключом /MP, проект на 2 гига объектов компилится минут 5 на релиз.
Если скорость компиляции не мешает процессу отладки - то не проблема.
Quote
Кстати, уважаемый Гилдор, ты случайно с Intel Parallel Studio и Intel C++ Compiler дела не имел?
Нет, дела не имел.
Logged
Skykila
Global Moderator
Sr. Member
*****
Posts: 266



View Profile
« Reply #27 on: August 15, 2010, 12:00 »

Конечно дураки Smiley, а как же иначе. Ну а если серьёзно, то проблема в том что никто кроме Intel  и AMD делать таки процессоры просто не умеет.
А на счёт Tegra, так там ARM.
Logged

I have the simplest tastes. I am always satisfied with the best.
Oscar Wilde
Skykila
Global Moderator
Sr. Member
*****
Posts: 266



View Profile
« Reply #28 on: August 15, 2010, 12:03 »

Спасибо за информацию по сериализацию, а то я думал использовать, но уж больно путано там всё обьясняют Smiley.
Но, вообще-то я с сеарилизацией дел пока не имел, это у меня ещё в переди Sad.
Logged

I have the simplest tastes. I am always satisfied with the best.
Oscar Wilde
Skykila
Global Moderator
Sr. Member
*****
Posts: 266



View Profile
« Reply #29 on: August 15, 2010, 12:06 »

А, что Saber, ещё жива? А я, почему-то думал что она уже ёк.
P.S. Ну если уних такие порядки, то не думаю что я так уж был далёк от истины Wink
Logged

I have the simplest tastes. I am always satisfied with the best.
Oscar Wilde
Print 
« previous next »
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Leviathan design by Bloc | XHTML | CSS