0
我正在製作使用SlimDX(DirectX 9)的2D遊戲引擎,但是Im面臨着兩個鏈接在一起的問題,波動的幀速率(儘管幀速率相當高)和高CPU用法。幀速率基本上是所有動畫運行的遊戲計時器。 CPU使用率也是通過頂端(20%),我想限制SlimDX爲了降低CPU使用率而畫幀的速度,並且爲了穩定動畫和遊戲速度,我怎麼能這樣做呢?SlimDX:限制幀速率以降低CPU使用率
p.s我相信有一個更好的方法來製作一個遊戲「計時器」,是從幀率分開,任何信息將不勝感激。
環和inizialization:
var form = new RenderForm(World.WindowTitle);
form.ClientSize = new Size(World.WindowWidth, World.WindowHeight);
var device = new Device(new Direct3D(), 0, DeviceType.Hardware, form.Handle, CreateFlags.HardwareVertexProcessing, new PresentParameters()
{
BackBufferWidth = form.ClientSize.Width,
BackBufferHeight = form.ClientSize.Height
});
//Some stuff here, irrelevant to DirectX
MessagePump.Run(form,() =>
{
device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0);
device.BeginScene();
sprite.Begin(SlimDX.Direct3D9.SpriteFlags.AlphaBlend);
//Stuff here
sprite.End();
device.EndScene();
device.Present();
//Thread.Sleep(1); <-- this didnt work using 0 or 1, it actually increased cpu ussage
});