Skip to content

Uncleared contents during frame swap #1435

@BrettskiPy

Description

@BrettskiPy

Bug Report

Swapping a view in fullscreen will cause flashing leftovers of the previous view along the border of the screen.

screen_flashing

System information

Arcade version: 2.7.1.dev8
OS: Windows 10

Steps to reproduce

1: Use full screen in a view
2: Switch to a new view using self.window.show_view()
3: Observe the flashing as seen in the gif.

Code I believe to be relevant

class StoryView(arcade.View):
   def __init__(self):
       super().__init__()
       arcade.set_background_color(arcade.color.BLACK)
       self.camera_gui = arcade.Camera()
       self.background = arcade.load_texture("assets/main_menu/columns.jpg")

   def on_draw(self):
       self.clear()
       self.camera_gui.use()
       arcade.draw_lrwh_rectangle_textured(
           300, 0, self.window.width - 300, self.window.height, self.background
       )

And

class OtherView(arcade.View):
    def __init__(self):
        super().__init__()
        arcade.set_background_color(arcade.color.BLACK)
        self.camera_gui = arcade.Camera()
        self.background = arcade.load_texture("assets/story/happy_mort.jpg")

    def on_draw(self):
        self.clear()
        self.camera_gui.use()
        arcade.draw_lrwh_rectangle_textured(
            300, 0, self.window.width - 300, self.window.height, self.background
        )

Conversation from Einarf in help channel 3

Per Einarf - "I thought I fixed the clear() method. Optionally just specify a viewport that covers the entire screen when you clear it.0, 0, w, h ... but I thought I changed it to clear the entire screen unless you pass in a viewport. Because this is the lesser evil. What you are seeing is the front and back buffer showing uncleared contents as the frames are swapping"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions