小编MJL*_*ala的帖子

如何阻止操作直到满足条件?

我正在运行此代码,它使用了相当数量的CPU,即使它在大多数时间都没有做任何事情.

while (this.IsListening)
{
    while (this.RecievedMessageBuffer.Count > 0)
    {
        lock (this.RecievedMessageBuffer)
        {
            this.RecievedMessageBuffer[0].Reconstruct();
            this.RecievedMessageBuffer[0].HandleMessage(messageHandler);
            this.RecievedMessageBuffer.RemoveAt(0);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在满足条件之前阻止的最佳方法是什么?

c# blocking

6
推荐指数
2
解决办法
1万
查看次数

Directx 10:使用CopySubresourceRegion更新顶点缓冲区

我有一个顶点缓冲区创建如下:

ID3D10Buffer * VertexBuffer;
Vertex_PosCol * Vertices;
D3D10_SUBRESOURCE_DATA VertexData;


    Vertices = new Vertex_PosCol[VerticeCount];

    Vertices[0].Position = D3DXVECTOR3(0.0f, 0.0f, 0.0f);
    Vertices[0].Color = D3DXVECTOR4(1.0f, 1.0f, 1.0f, 1.0f);

    Vertices[1].Position = D3DXVECTOR3(-1.0f, 2.0f, 0.0f);
    Vertices[1].Color = D3DXVECTOR4(1.0f, 0.0f, 0.0f, 1.0f);

    Vertices[2].Position = D3DXVECTOR3(1.0f, 2.0f, 0.0f);
    Vertices[2].Color = D3DXVECTOR4(0.0f, 1.0f, 0.0f, 1.0f);

    Vertices[3].Position = D3DXVECTOR3(2.0f, 1.0f, 0.0f);
    Vertices[3].Color = D3DXVECTOR4(0.0f, 0.0f, 1.0f, 1.0f);

    Vertices[4].Position = D3DXVECTOR3(2.0f, -1.0f, 0.0f);
    Vertices[4].Color = D3DXVECTOR4(1.0f, 1.0f, 0.0f, 1.0f);

    Vertices[5].Position = D3DXVECTOR3(1.0f, -2.0f, 0.0f);
    Vertices[5].Color = D3DXVECTOR4(0.0f, 1.0f, 1.0f, 1.0f);

    Vertices[6].Position …
Run Code Online (Sandbox Code Playgroud)

c++ dynamic vertex-buffer directx-10

0
推荐指数
1
解决办法
3191
查看次数

标签 统计

blocking ×1

c# ×1

c++ ×1

directx-10 ×1

dynamic ×1

vertex-buffer ×1