Цитата(macron @ 09.06.2014, 12:01)
Если софтварно работает и на встроенках
так в том-то и дело, что не "работает", а просто "проигрывает звуки", для этого задействовать EAX не нужно. плюс некое подобие софтварной реверебрации по пресетам. а должно быть
встроенные карточки даже для столь древних игр не могут выдать хоть что-то похожее.
Цитата(macron @ 09.06.2014, 12:01)
на 4-ядернике грузят все ядра
понятное дело, если число потоков >= числу ядер то и загрузка будет 100%. но, у меня тоже 4 ядра, простенькая карта с кубиком на штатном компиляторе мучается пару минут (там где 3-4-6-8 потоков), а если принудительно указать правильное число, то стабильно меньше минуты.
но и тут есть затык, даже на маленькой карте задачи работают не одинакого по времени, одна-две закончились, а остальные еще молотят, на бОльших картах это становится еще заметнее. тут и напрашивается прикостыливание какого-нить планировщика, который разобьет задачи не на (число_ядер) частей, а побольше. в теории это должно выровнять загрузку и уменьшить общее время.
Цитата(macron @ 09.06.2014, 12:01)
Building/Saving lightmap xx, грузят одно ядро
насколько я понял, лайтмапы собираются "по кусочкам" из общей кучи, а это не очень-то распараллеливается.
Цитата(Lego @ 09.06.2014, 12:36)
в nvtt нет некоторых специфических фишек
для компиляторов требуется только одна фишка - банальное сохранение RGBA (или ABGR, не помню) массива в DXT5. LevelEditor при Compile-Build делает еще одну DXT1 (build_details.dds). я вообще выкинул и вставил туда сохранение в TGA, типа сам потом пакетно конвертирую.
а вот замороченная ф-ия DXTCompressBump, которая принимает на вход два массива и делает нормал-мапы и спекуляры, вызывается только из редакторов. что именно надо сделать, чтобы получилась пара файлов name.dds и name#.dds? есть мысль, что эта ф-ия сплошной велосипед и тоже требует замены ))