为什么 Awesomium Component 会把帧率降到零?
Why does AwesomiumComponent drop framerate to nothing?
我有以下方法利用这个 class - 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 已加载一次但未绘制 window ,因此会出现轻微延迟。我需要将 webview 对象绘制到屏幕上并仅在用户与其交互时更新它,最好的方法是什么?
看来 AwesomiumComponent
需要相当长的时间来获取网页。
update it only when the user interacts with it
与其在每一帧执行 AwesomiumComponent("www.google.com", UX_rect)
,不如仅在用户与之交互时获取它。您应该异步执行获取以提高性能而不是阻塞游戏循环。
当它失效时,获取网页并使用RenderTarget
渲染到纹理。
否则,每帧渲染纹理,应该会快得多。
我有以下方法利用这个 class - 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 已加载一次但未绘制 window ,因此会出现轻微延迟。我需要将 webview 对象绘制到屏幕上并仅在用户与其交互时更新它,最好的方法是什么?
看来 AwesomiumComponent
需要相当长的时间来获取网页。
update it only when the user interacts with it
与其在每一帧执行 AwesomiumComponent("www.google.com", UX_rect)
,不如仅在用户与之交互时获取它。您应该异步执行获取以提高性能而不是阻塞游戏循环。
当它失效时,获取网页并使用RenderTarget
渲染到纹理。
否则,每帧渲染纹理,应该会快得多。