|
19.02.2015, 17:11
|
#16
|
Мастер
Регистрация: 12.01.2009
Сообщений: 980
Написано 389 полезных сообщений (для 632 пользователей)
|
Ответ: dword to float4 и обратно
Сообщение от mr.DIMAS
А всякие сторонние библиотеки ты тоже собираешь без оптимизации, ну например булет?
|
Обычно если предлагают скачать бинарный код то я качаю его, потому что он как минимум оттестирован. Если предлагают собирать самим, то предполагается что ты его тестировать будешь сам, потому что и компилятор и его настройки могут быть другими. Вариант с открытыми кодами хорош если ты собираешься модифицировать исходный код или глубоко интегрировать в свой проект. Если ты пользуешься чем-то как отдельной библиотекой то лучше качать бинарные коды.
Буллет я собирал без оптимизации (так как там вроде есть ручное ускорение), но это потому что я не нашел бинарники, и не было времени собирать другим способом. Возможно проверенных бинарников и нет, потому что у разрабов Буллета другой подход -- они не выпускают продукт для конечного пользователя, они предлагают коды для интеграции в движок или сборку которая будет конечным продуктом. То есть например Буллет в составе Ксорса имеет проверенный Буллет (если Кнайт сделал всё как надо), а вот если скачал сурсы Буллета с оффсайта то сам собирай, проверяй, тестируй -- тебе ничего не гарантируют.
А вот например тот же dx9 -- ты можешь посчитать хеш-суммы их дллок за последние 5 лет -- они все одинаковые, существует только один вариант бинарников, которые хорошо оттестирован.
|
(Offline)
|
|
19.02.2015, 17:14
|
#17
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: dword to float4 и обратно
Буллет я собирал без оптимизации
|
Без оптимизации он медленнее в 3-5 раз.
И вообще всё это недоверие больше походит на паранойю
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
19.02.2015, 17:26
|
#18
|
Мастер
Регистрация: 12.01.2009
Сообщений: 980
Написано 389 полезных сообщений (для 632 пользователей)
|
Ответ: dword to float4 и обратно
Сообщение от mr.DIMAS
Без оптимизации он медленнее в 3-5 раз.
И вообще всё это недоверие больше походит на паранойю
|
Это у тебя слишком больше доверие, в твоем представлении компилятор порождение автомагии. Компилятор это обычный инструмент, у него свои плюсы и минусы, его работу нужно проверять, нужно понимать как он делает оптимизацию (в общих чертах), он также подвержен ошибкам.
Я же не призываю не пользоваться им вообще, я говорю что нужно проверять его работу, а проверка требует сил времени и это надо учитывать, стоит ли оно того. Допустим если буллет становится в 5 раз быстрее, то возможно в этом случае стоит, но тогда надо хорошенько проверить его работу, и главное тестировать заного если ты обновил версию Буллета, а это значит что ты впринципе не сможешь оперативно обновлять Буллет, обычно собирают одну версию на весь жизненный цикл проекта.
|
(Offline)
|
|
19.02.2015, 17:32
|
#19
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: dword to float4 и обратно
я говорю что нужно проверять его работу
|
Не нужно. Ты же не пишешь код для медицинского оборудования, или для оборонки? Зачем тогда себе мозги лишний раз ебать?
__________________
|
(Offline)
|
|
19.02.2015, 17:39
|
#20
|
Мастер
Регистрация: 12.01.2009
Сообщений: 980
Написано 389 полезных сообщений (для 632 пользователей)
|
Ответ: dword to float4 и обратно
Давай подождём когда у твоего Mine начнётся открытое бетатестирование, так что бы хотябы 1к человек проверело, и там посмотрим кому придется лишний раз ебать мозг.
Я даже поменяю своё мнение если у тебя пройдёт всё без проблем, пока же я ориентируюсь на опыт других разработчиков.
|
(Offline)
|
|
19.02.2015, 17:47
|
#21
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: dword to float4 и обратно
Стрелки не нужно переводить. Я хочу услышать обоснованный ответ, зачем смотреть то что там компилятор наворотил? Наверное: "потому, что я могу" или "потому, что я хочу"
__________________
|
(Offline)
|
|
19.02.2015, 17:54
|
#22
|
Мастер
Регистрация: 12.01.2009
Сообщений: 980
Написано 389 полезных сообщений (для 632 пользователей)
|
Ответ: dword to float4 и обратно
Сообщение от mr.DIMAS
Стрелки не нужно переводить. Я хочу услышать обоснованный ответ, зачем смотреть то что там компилятор наворотил? Наверное: "потому, что я могу" или "потому, что я хочу"
|
Вот упала твоя программа, ОС тебе вернул дамп памяти и контекст процесса (состояние регистров, стека и т. п.). чо ты с этим будешь делать если у тебя на руках тока С++ код, который никак не коррелируется в тем асмом который после оптимизации вышел?
|
(Offline)
|
|
19.02.2015, 18:01
|
#23
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: dword to float4 и обратно
Соберу без оптимизации, найду баг, уберу его, запилю опять с оптимизацией. Если говорить про мою игру, то без оптимизатора она работает в 6 раз медленнее( 20 фпс против 120 )
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
19.02.2015, 18:28
|
#24
|
Мастер
Регистрация: 12.01.2009
Сообщений: 980
Написано 389 полезных сообщений (для 632 пользователей)
|
Ответ: dword to float4 и обратно
Сообщение от mr.DIMAS
Соберу без оптимизации, найду баг, уберу его, запилю опять с оптимизацией. Если говорить про мою игру, то без оптимизатора она работает в 6 раз медленнее( 20 фпс против 120 )
|
Так падать то будет не у тебя, а у пользователя, который тебе дампы сунет и скажет давай исправляй.
Кстати во многих случаях я вообще без отладки обхожусь, то есть чтобы меня правильно понимали: 99% ошибок можно исправить из высокоуровневого языка и это даже продуктивней чем пошагово что-то отлаживать или тем более ассемблировать. Но это не значит что нужно полностью исключать такую возможность. В 1% потребуется основательная отладка: я уже (вроде даже тебе) рассказывал про Betrayer -- там глюк с видеодрайверами который не могут исправить почти год пруфлинк, просто потому что для них UE3 это чёрный ящик, из-за этого у них огромные проблемы со всей их затеей с этой игрой. При этом 10 лет опыта в индустрии. Вот как так можно? Понадеялись на UE3?
Я лучше заранее к таким ситуациям буду готов. Это кстати также касается того что я всегда рекомендую либо писать свой движок либо хорошенько разбирать устройство чужого движка, поначалу кажется что очень непродуктивно, нету быстрых прототипов и всё такое, зато много времени экономится в конце, когда код полностью котролируется, баги быстро правятся и вообще у всех хорошее настроение
Ну то что у тебя 20 против 120 говорит лишь о том насколько плохой у тебя код. Если бы код был хороший то и оптимизировать было бы нечего. Ведь с этим утверждением нельзя поспорить. Когда есть опыт то хороший код пишется сразу, быстрей, чем написать плохой, получить баги при оптимизации и потратить на их исправление.
Кстати работая над гбуфером ты использовал совсем другую философию, прям за каждый байт воевал, у шейдеров же тоже есть оптимизация. Можно было бы и незаморачиваться, само бы как нибудь заоптимизировалось. Ещё кто там кол-во инструкций считал чтобы глубину побыстрее восстановить. А кстати есть же ещё clang там куда более продвинутые оптимизаторы, вот его тебе надо ставить обязательно.
|
(Offline)
|
|
19.02.2015, 18:49
|
#25
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: dword to float4 и обратно
ох лол, плохой код... а ниче что я использую 4 сторонних библиотеки( из которых в рантайме только булет ) в которых и просядает вся производительность без оптимизации? я ж выше писал что булет тормозное говно без оптимизации, профайлер ставит мой код в конце списка потенциально медленных мест. кароч, твои аргументы шаткие и нет оснований тратить время, когда можно поменять ключ компилятора и получить профит здесь и сейчас и не ебать себе и окружающим мозги.
__________________
|
(Offline)
|
|
19.02.2015, 19:00
|
#26
|
Мастер
Регистрация: 12.01.2009
Сообщений: 980
Написано 389 полезных сообщений (для 632 пользователей)
|
Ответ: dword to float4 и обратно
Я ещё раз говорю что я не отказываюсь от оптимизации, я ей пользуюсь как любым другим инструментом.
Мои аргументы вполне понятно расписаны, где, зачем и когда надо отключать оптимизацию.
С вашей стороны единственный аргумент это халява, а компилятор сам всё сделает, так что даже проверять результат нет причины.
Зачем тогда кодить на С++? Mr_F_ уже давно на юнити и шарпе.
|
(Offline)
|
|
19.02.2015, 19:16
|
#27
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: dword to float4 и обратно
Кто как хочет так и дрочит.
__________________
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:36.
|