Graphics: surface loss and restore in the renderer
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- csharp
- Ambito
- desktop, game-dev, mobile-dev
Direzione di ricerca
Start with Renderer.cs:256-284 and trace the surface and swapchain lifecycle through the host event handling and Device.Dispose; the issue also depends on #245. Implement the listed loss, restore, resize, and disposal behavior, then verify that Linux passes 100 minimize and restore cycles without validation errors and that recreation has no busy-wait.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Current State
The surface is never destroyed or recreated. Renderer.RecreateSwapChain (Renderer.cs:256-284) busy-waits on window.DoEvents() until the framebuffer is non-zero and throws if formats change; framebufferResized is never set; oldSwapchain is always null; Device.Dispose destroys neither surface nor instance. On Android the surface disappears on every pause.
Tasks
- On surface lost: wait idle, destroy swapchain and surface, pause ticking, stop rendering
- On surface restored: recreate surface and swapchain; rebuild render pass and pipelines if the format changed
- Pass
oldSwapchainon recreation; set the resize flag from host events - Destroy surface and instance on dispose
- Desktop stress test: minimize/restore and resize
Acceptance Criteria
- 100 minimize/restore cycles validation-clean on Linux
- No busy-wait remains
Related
- Android plan task A10 · seniority Sr · mergeable now (.NET 10)
- Depends on: #245
- Platform roadmap: #100
- Lingua principale
- C#
- Stelle
- 1
- Fork
- 1
- Merge medio
- 1h 48m
- PR unite (30g)
- 30
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di MASS4ORG/Turian
-
c:docs p:high size:S t:docs
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
c:assets p:low size:XS t:task
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
c:engine c:scripting p:medium size:XL t:refactor
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
-
c:assets c:platform p:low size:M t:feature
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
I maintainer di solito rispondono entro 1 giorno
-
c:platform c:scripting p:low size:M t:task
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di MASS4ORG/Turian
Issue simili
-
needs-area-label
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Fallout-build/Fallout#708 ·
I maintainer di solito rispondono entro 5 giorni
-
bug next version
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Rem0o/FanControl.Releases#4220 · 1 commento ·
-
area:repo audit:approved audit:auto priority:P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
elsa-workflows/elsa-core#8771 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
nkdAgility/azure-devops-migration-tools#3217 ·
I maintainer di solito rispondono entro 1 giorno