my monogame window is flickering  black during runtime
my cpu is i7-11800H with RTX3050
i am using monogame wpf interop to host monogame in my wpf app
any way to fix this ?
namespace View3D
{
    public class GameWorld : WpfGame 
    {
        private bool _disposed;
        WpfGraphicsDeviceService _deviceServiceHandle;
        private IGraphicsDeviceService _graphicsDeviceManager;
        private GraphicsDeviceManager _graphics;
       
        LightControllerComponent _lights;
        public ArcBallCamera _camera;
        public MouseComponent _mouseComponent;
        public KeyboardComponent _keyboardComponent;
        public BasicEffect basicEffect;
         public SelectionComponent selectionComponent;
        public  Matrix WorldMatrix = Matrix.CreateWorld(Vector3.Zero, Vector3.Forward, Vector3.Up);
          SpriteBatch spriteBatch;
        Rectangle IndicatorArea;
         public   bool IsCameraOwner = false;
        bool IsMouseLocked = false;
        Vector2 IndicatorAreaCinter;
        public Vector2 ViewCinter { get; private set; }
        public RenderFormats shaderType { get;  set; } = RenderFormats.MetalRoughness;
        GridComponent ground ;
      
        public double FrameRate { get;  set; } = 30;
        Texture2D Backgroundshade;
      
        Texture2D axistexture;
        public Color MegaGray = new Color(59, 59, 59, 255);
        
        PbrShader_MetalRoughness MetalRough;
        public CommonShaderParameters commonShaderParameters;
        
      
        public RenderEngineComponent renderEngineComponent;
        public ResourceLibary resourceLibary;
        public DeviceResolverComponent _deviceResolverComponent;
        public float EnvLightRotationDegrees_Y { get; set; } = 20;
        public float DirLightRotationDegrees_X { get; set; } = 0;
        public float DirLightRotationDegrees_Y { get; set; } = 0;
        public float LightIntensityMult { get; set; } = 1;
        public  List<BoneNodeDif> DrawableBones = new List<BoneNodeDif>();
        public  VertexPositionColor[] Dummies = new VertexPositionColor[0];
        public RenderEnvironment renderEnvironment;
        SelectionManager selectionManager;
        private EventHub EventHub;
        public GizmoComponent gizmo;
        CommandExecutor commandExecutor;
        ObjectSelectionCommand objectSelectionCommand;
        public GameWorld(EventHub eventHub, string contentDir = "BuiltContent") : base(eventHub, contentDir)
        {
            EventHub = eventHub;
        }
        protected override void Initialize()
        {
            _disposed = false;
            _deviceServiceHandle = new WpfGraphicsDeviceService(this);
            _deviceResolverComponent = new DeviceResolverComponent(this);
            _mouseComponent = new MouseComponent(this);
            _keyboardComponent = new KeyboardComponent(this);
            _camera = new ArcBallCamera(_deviceResolverComponent, _keyboardComponent, _mouseComponent);
            
            Content = new ContentManager(this.Services, "BuiltContent");
            resourceLibary = new ResourceLibary(this);
            renderEngineComponent = new RenderEngineComponent(_camera, resourceLibary, _deviceResolverComponent);
            renderEngineComponent.MainRenderFormat = shaderType;
            _lights = new LightControllerComponent(resourceLibary, _deviceResolverComponent, _keyboardComponent, renderEngineComponent);
            selectionManager = new SelectionManager(EventHub, renderEngineComponent, resourceLibary,_deviceResolverComponent);
            commandExecutor = new(EventHub);
            spriteBatch = resourceLibary.CommonSpriteBatch;
            basicEffect = new BasicEffect(GraphicsDevice);
            //   vertexInstanceMesh = new VertexInstanceMesh(_deviceResolverComponent, resourceLibary);
            objectSelectionCommand = new ObjectSelectionCommand(selectionManager);
          
            selectionComponent = new(_mouseComponent, _keyboardComponent, _camera, selectionManager, _deviceResolverComponent);
           
            loadEnvironment();
            base.Initialize();
        }
        public void loadEnvironment()
        {
            renderEnvironment = new RenderEnvironment(_camera, resourceLibary, _deviceResolverComponent);
            GraphicsCardGeometry CardGeometry = new GraphicsCardGeometry(GraphicsDevice);
            MeshObject mesh = SimpleCubeMesh.getmesh(CardGeometry, 20);
            EnvironmentGeo envirnmentmesh = new EnvironmentGeo(GraphicsDevice, resourceLibary, mesh, SimpleCubeMesh.GetMaterial(), renderEnvironment);
            envirnmentmesh.Render(renderEnvironment, WorldMatrix);
        }
       
        protected override void LoadContent()
        {
            
            
            base.LoadContent();
        }
        protected override void Update(GameTime gameTime)
        {
            _mouseComponent.Update(gameTime);
            _keyboardComponent.Update(gameTime);
            
            IndicatorArea = new Rectangle { X = GraphicsDevice.Viewport.Width - 90, Y = 60, Height = 80, Width = 80 };
            IndicatorAreaCinter = new Vector2(GraphicsDevice.Viewport.Width - 90, 60);
            ViewCinter = new Vector2(GraphicsDevice.Viewport.Width/2, GraphicsDevice.Viewport.Height/2);
          
            if (_mouseComponent.IsMouseButtonDown(MouseButton.Left)||  _mouseComponent.IsMouseButtonDown(MouseButton.Right))
            {
                IsCameraOwner = true;
                _mouseComponent.IsCursorVisible = false;
            }
            else
            {
                IsCameraOwner = false;
                _mouseComponent.IsCursorVisible = true;
            }
            
            _camera.Update(gameTime);
            _lights.Update(gameTime);
            selectionManager.Update(gameTime);
            selectionComponent.Update(gameTime);
            base.Update(gameTime);
        }
        protected override void Draw(GameTime time)
        {
            GraphicsDevice.Clear(MegaGray);
            renderEnvironment.Draw(time);
            base.Draw(time);
           
        }
       
      
       
    }
  
   
}
