Я испытываю отставание при загрузке файлов datasmith во время выполнения в Unreal Engine с помощью плагина Datasmithruntime. В частности, когда я использую файл загрузки или файл загрузки из узлов Explorer в плагине, загрузка сцены около 100 МБ заставляет программу заморозить за несколько секунд до отображения модели и программы снова становится адаптивным. strong> Фоновые потоки в C ++: < /strong>
I переместил логику загрузки файла в фоновый поток Asynctask < /code>, чтобы избежать блокировки основного потока. Однако задержка сохраняется. После дальнейшего исследования я обнаружил, что, хотя сама загрузка файла происходит в фоновом режиме, конструкция сетей, тел столкновений и обновлений сцен все еще происходит в основном потоке. < /P>
< /li>
[*] узлы Blueprint:
Я также пытался использовать файл загрузки и загрузить файл из Explorer узлов непосредственно в чертепе, но проблема задержки остается. = "Lang-CPP PrettyPrint-Override">void ABlueprintTest::StatrAsyncEvent(
ADatasmithRuntimeActor\* DatasmithRuntimeActor,
const FString& FileName)
{
AsyncTask(ENamedThreads::AnyBackgroundThreadNormalTask, [DatasmithRuntimeActor, FileName]()
{
bool bSuccess = LoadFile(DatasmithRuntimeActor, FileName);
AsyncTask(ENamedThreads::GameThread, [bSuccess]()
{
if (bSuccess)
{
UKismetSystemLibrary::PrintString(nullptr, TEXT("File loaded successfully!"));
}
else
{
UKismetSystemLibrary::PrintString(nullptr, TEXT("Filed to load file!"));
}
});
});
}
< /code>
Когда программа запускает функцию загрузки файла, она не отвечает на несколько секунд. После отображения модели программа возвращается к нормальной жизни. Кажется, что сама загрузка файла не блокирует основной поток, но построение и представление большого количества сетки и тел столкновений. > < /h4>
Как я могу уменьшить или устранить задержку, вызванную конструкцией сетки и обновлений сцены во время загрузки файлов datasmith? < /p>
[*] Можно ли достичь эффекта «загружать и отображать» одновременно », где сцена постепенно отображается при загрузке файла?
Есть ли какие -либо лучшие практики или оптимизации для обработки больших файлов Datasmith во время выполнения? >
Замораживание программы: < /strong>
< /p>
< /li>
модель, отображаемая после заморозки: < /strong>
ol>
< /li>
< /ol>
Подробнее здесь: https://stackoverflow.com/questions/794 ... eal-engine
Как уменьшить задержку при загрузке файлов datasmith во время выполнения в нереальном двигателе? ⇐ C++
Программы на C++. Форум разработчиков
1739861943
Anonymous
Я испытываю отставание при загрузке файлов datasmith во время выполнения в Unreal Engine с помощью плагина Datasmithruntime. В частности, когда я использую файл загрузки или файл загрузки из узлов Explorer в плагине, загрузка сцены около 100 МБ заставляет программу заморозить за несколько секунд до отображения модели и программы снова становится адаптивным. strong> Фоновые потоки в C ++: < /strong>
I переместил логику загрузки файла в фоновый поток Asynctask < /code>, чтобы избежать блокировки основного потока. Однако задержка сохраняется. После дальнейшего исследования я обнаружил, что, хотя сама загрузка файла происходит в фоновом режиме, конструкция сетей, тел столкновений и обновлений сцен все еще происходит в основном потоке. < /P>
< /li>
[*] [b] узлы Blueprint: [/b]
Я также пытался использовать файл загрузки и загрузить файл из Explorer узлов непосредственно в чертепе, но проблема задержки остается. = "Lang-CPP PrettyPrint-Override">void ABlueprintTest::StatrAsyncEvent(
ADatasmithRuntimeActor\* DatasmithRuntimeActor,
const FString& FileName)
{
AsyncTask(ENamedThreads::AnyBackgroundThreadNormalTask, [DatasmithRuntimeActor, FileName]()
{
bool bSuccess = LoadFile(DatasmithRuntimeActor, FileName);
AsyncTask(ENamedThreads::GameThread, [bSuccess]()
{
if (bSuccess)
{
UKismetSystemLibrary::PrintString(nullptr, TEXT("File loaded successfully!"));
}
else
{
UKismetSystemLibrary::PrintString(nullptr, TEXT("Filed to load file!"));
}
});
});
}
< /code>
Когда программа запускает функцию загрузки файла, она не отвечает на несколько секунд. После отображения модели программа возвращается к нормальной жизни. Кажется, что сама загрузка файла не блокирует основной поток, но построение и представление большого количества сетки и тел столкновений. > < /h4>
Как я могу уменьшить или устранить задержку, вызванную конструкцией сетки и обновлений сцены во время загрузки файлов datasmith? < /p>
[*] Можно ли достичь эффекта «загружать и отображать» одновременно », где сцена постепенно отображается при загрузке файла?
Есть ли какие -либо лучшие практики или оптимизации для обработки больших файлов Datasmith во время выполнения? >
Замораживание программы: < /strong>
< /p>
< /li>
модель, отображаемая после заморозки: < /strong>
ol>
< /li>
< /ol>
Подробнее здесь: [url]https://stackoverflow.com/questions/79447372/how-to-reduce-lag-when-loading-datasmith-files-at-runtime-in-unreal-engine[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия