I thought this was supposed to be the case, yet somehow I'm finding that unless I draw to a canvas every frame, it immediately gets cleared on the next.
Again, a map is provided. This should draw an ouch face with a blue background every 50 frames. Ideally what should happen is that there's no flickering and the drawn contents remain static, but instead it flickers once every 50 frames.
Canvas contents are not persistent
Moderator: GZDoom Developers
Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
- Marisa the Magician
- Posts: 3886
- Joined: Fri Feb 08, 2008 9:15 am
- Preferred Pronouns: She/Her
- Operating System Version (Optional): (btw I use) Arch
- Graphics Processor: nVidia with Vulkan support
- Location: Vigo, Galicia
- Contact:
Re: Canvas contents are not persistent
Can confirm this behavior. I had to put my canvas update calls inside of a RenderOverlay/Underlay call inside an event handler to get clean drawing... I assumed this was intended behavior.
- phantombeta
- Posts: 2088
- Joined: Thu May 02, 2013 1:27 am
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia with Vulkan support
- Location: Brazil
Re: Canvas contents are not persistent
Seems to be a Vulkan bug. If I run the test file in OpenGL, the image stays persistent.
Re: Canvas contents are not persistent
There must be two bugs at play here. First is the vulkan backend opens the drawing with a renderpass that clears the buffer. The second is that it must be actively updating the texture those 49 frames where nobody is drawing to it. It isn't supposed to even setup drawing for the texture unless one of the canvas draw functions have been called.