为什么AwesomiumComponent将帧率降低到空?

时间:2015-04-08 02:10:23

标签: c# visual-studio xna xna-4.0

我有以下方法使用此类 - http://strikelimit.co.uk/m/?p=421

        private void AwesomeMenu()
    {
            // Awesomium Menus
            Rectangle UX_rect = new Rectangle(100, 100, 500, 500);
            AwesomiumComponent UX = new AwesomiumComponent("www.google.com", UX_rect);
            Texture2D UX_tex = UX.GetTexture(GraphicsDevice);
            spriteBatch.Begin();
            spriteBatch.Draw(UX_tex, UX_rect, Color.White);
            spriteBatch.End();        
    }

当我在Draw()中调用此方法时,每次调用Draw时,帧速率都会降低,因为我的webview对象会刷新。当我尝试在Initialize()中调用它时,由于URI被加载一次但是没有绘制窗口,因此会有轻微的延迟。我需要将webview对象绘制到屏幕上并仅在用户与其交互时更新它,对此最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

看起来AwesomiumComponent需要很长时间才能获取网页。

  

仅在用户与其互动时更新

不是每帧执行AwesomiumComponent("www.google.com", UX_rect),而是仅在用户与之交互时才获取它。您应该异步执行提取以提高性能,而不是阻止游戏循环。

当它变为无效时,获取网页并使用RenderTarget渲染到纹理。

否则,每帧渲染纹理,它会更快。