我有以下方法使用此类 - 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对象绘制到屏幕上并仅在用户与其交互时更新它,对此最好的方法是什么?
答案 0 :(得分:1)
看起来AwesomiumComponent
需要很长时间才能获取网页。
仅在用户与其互动时更新
不是每帧执行AwesomiumComponent("www.google.com", UX_rect)
,而是仅在用户与之交互时才获取它。您应该异步执行提取以提高性能,而不是阻止游戏循环。
当它变为无效时,获取网页并使用RenderTarget
渲染到纹理。
否则,每帧渲染纹理,它会更快。