Vladimir.Semenov Posted October 28, 2025 Posted October 28, 2025 (edited) Добрый день. Наш продукт использует 2.13, возможно проблема уже была исправлена в последующих версиях? На некоторых компах (явно от драйверов и/или железа зависит) наблюдаем падения нашей игры - в процессе игры вылетает модальное окошко "RenderManager::createTexture2D(): can't create texture" и игра закрывается. Воспроизводится когда в винде остаётся мало оперативки (Upd: данное предположение неверно). Зависит от .dll Unigine: воспроизводится когда загружена Unigine_double_x64.dll, но не воспроизводится с Unigine_double_x64d.dll RenderManager вылетает из-за того, что из CDevice::CreateTexture2D (d3d11.dll) возвращается DXGI_ERROR_DEVICE_REMOVED Выглядит примерно так: Spoiler > Unigine_double_x64.dll!Log::fatal(const char * format, ...) Line 409 C++ Unigine_double_x64.dll!RenderManager::createTexture2D(int width, int height, int format, int flags, bool clear) Line 1788 C++ [Inline Frame] Unigine_double_x64.dll!Render::create_texture(int) Line 3995 C++ Unigine_double_x64.dll!Render::acquire_pool_texture(int id, int width, int height, int depth, int format, int flags, int type, const char * name, int accessory) Line 3725 C++ Unigine_double_x64.dll!Render::getTemporaryTexture(int width, int height, int format, int flags, const char * name, int accessory) Line 3843 C++ Unigine_double_x64.dll!RenderPost::renderSSR(RenderScreen * screen) Line 1113 C++ Unigine_double_x64.dll!RenderRenderer::render_screen(RenderScene * scene, RenderScreen * screen) Line 5728 C++ Unigine_double_x64.dll!RenderRenderer::render_main_scene(Texture * depth_out) Line 6276 C++ Unigine_double_x64.dll!RenderRenderer::renderWorld(Texture * depth_out) Line 289 C++ Unigine_double_x64.dll!Viewport::render_frame(Camera * camera) Line 1200 C++ Unigine_double_x64.dll!Viewport::render(Camera * camera) Line 298 C++ Unigine_double_x64.dll!Viewport::renderEngine(Camera * camera) Line 270 C++ Unigine_double_x64.dll!Render::renderWorld() Line 667 C++ Unigine_double_x64.dll!Engine::do_render() Line 2876 C++ Unigine_double_x64.dll!engine_render_func() Line 357 C++ Unigine_double_x64.dll!Engine::doRender() Line 3341 C++ TrainSim.exe!applicationRun(const boost::program_options::options_description & desc, const boost::program_options::variables_map & vm) Line 742 C++ TrainSim.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * pCmdLine, int nCmdShow) Line 120 C++ [External Code] Если чуть копнуть, DXGI_ERROR рождается вот здесь Spoiler > d3d11.dll!NOutermost::CDevice::CreateLayeredChild() Unknown d3d11.dll!CDevice::CreateTexture2D_Worker() Unknown d3d11.dll!CDevice::CreateTexture2D() Unknown Unigine_double_x64.dll!D3D11Texture::create2D(int w, int h, int f, int flags) Line 1205 C++ Unigine_double_x64.dll!RenderManager::createTexture2D(int width, int height, int format, int flags, bool clear) Line 1785 C++ [Inline Frame] Unigine_double_x64.dll!Render::create_texture(int) Line 3995 C++ Unigine_double_x64.dll!Render::acquire_pool_texture(int id, int width, int height, int depth, int format, int flags, int type, const char * name, int accessory) Line 3725 C++ Unigine_double_x64.dll!Render::getTemporaryTexture(int width, int height, int format, int flags, const char * name, int accessory) Line 3843 C++ Unigine_double_x64.dll!RenderPost::renderSSDirt(RenderScreen * screen) Line 1280 C++ Unigine_double_x64.dll!RenderRenderer::render_screen(RenderScene * scene, RenderScreen * screen) Line 5673 C++ Unigine_double_x64.dll!RenderRenderer::render_main_scene(Texture * depth_out) Line 6276 C++ Unigine_double_x64.dll!RenderRenderer::renderWorld(Texture * depth_out) Line 289 C++ Unigine_double_x64.dll!Viewport::render_frame(Camera * camera) Line 1200 C++ Unigine_double_x64.dll!Viewport::render(Camera * camera) Line 298 C++ Unigine_double_x64.dll!Viewport::renderEngine(Camera * camera) Line 270 C++ Unigine_double_x64.dll!Render::renderWorld() Line 667 C++ Unigine_double_x64.dll!Engine::do_render() Line 2876 C++ Unigine_double_x64.dll!engine_render_func() Line 357 C++ Unigine_double_x64.dll!Engine::doRender() Line 3341 C++ TrainSim.exe!applicationRun(const boost::program_options::options_description & desc, const boost::program_options::variables_map & vm) Line 742 C++ TrainSim.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * pCmdLine, int nCmdShow) Line 120 C++ [External Code] (UPD: предположение о связи с количеством отъеденой памяти не подтвердилось. Локально воспроизводится при 7 свободных GB из 32, один художник сообщал что у него воспроизводится при более половины свободной памяти в 64 GB) log_ERROR_NOTDEBUG.txt log_NOERROR_WITHDEBUG.txt Edited November 25, 2025 by Vladimir.Semenov Обновлён анамнез
Recommended Posts