#3516·bgfx

BGFX 关闭不正确地重置

作者: PowerOfNames创建于 2025年12月16日更新于 2026年7月29日

< !--- ########################################################################### **BEWARE!** 如果完全忽略此指南,并将随机问题提交为问题(错误报告),则该问题将被删除。如果在删除后提交相同的问题,则您将被封锁。 **重要提示:请先阅读!** 问题跟踪器**仅**用于报告错误。 如果您有任何问题,请不要打开问题,而是: - 如果您有快速问题,请在 Discord 上提问:https://discord.gg/9eMbv7J - 在讨论中提问:https://GitHub.com/bkaradzic/bgfx/discussions - 搜索文档:https://bkaradzic.GitHub.io/bgfx/ 新功能应在以下位置进行讨论: - GitHub 讨论 https://GitHub.com/bkaradzic/bgfx/discussions - Discord 聊天 https://discord.gg/9eMbv7J ########################################################################### --> (已阅读并确认 :) ) **描述错误** 明确和简洁地描述错误是什么。 当调用 bgfx::shutdown() 但保持应用程序运行时,目前似乎无法从另一个线程创建新的 bgfx 上下文。 (有一个应用程序,其中一个专用线程管理 bgfx,我希望能够完全关闭该线程 -> 关闭 bgfx,然后在另一个线程中创建新的 bgfx 实例) 创建错误的第一件事是 s_renderFrameCalled 字段。 在关闭期间,它不会被重置为 false。 **要重现** 重现行为的步骤: 1. 创建一个线程 2. 在其中初始化 bgfx 3. 关闭 bgfx 4. 等待线程并删除它 5. 创建一个新线程 6. 在其中初始化 bgfx -> 错误发生(错误的线程上下文) **预期行为** 清楚和简洁地描述您期望发生的事情。 如果 bgfx 已经关闭,则它应该完全恢复到原始状态,因此可以保持应用程序运行并在另一个线程中创建新的 bgfx。 **屏幕截图** 如果适用,请添加屏幕截图来帮助解释您的问题。 - - **其他上下文** 请在此处添加有关问题的其他上下文。 操作系统、驱动程序等。 这通常是不必要的,但它是 Win11,使用 Vulkan 后端。 修复很简单,但我不确定是否有其他东西被锁定。 除此之外: 伟大的框架,它简单易用,扩展起来也很有趣 :)