1

GDI+ と C# でカスタム コンソールを作成しており、バッファ内の各文字を個別に描画しています (行と列をループします)。現在、コンソールのデフォルトの画面サイズには 1600 文字 (80x20) が含まれており、null 文字は無視されます (描画されません) が、約 150 文字を入力するとフリーズし始め、描画が遅くなります。OnPaint メソッドをオーバーライドし、タイマーを使用して this.Invalidate() と this.Update() を呼び出して描画していますが、タイマーを無効にして文字を挿入するコードの後に​​配置しても、描画速度は遅くなります。

私の描画コードはこれです

for (int l = topLine; l <= (this.Height / charSize.Height) + topLine; l++)
    for (int c = 0; c < bufferSize.Width; c++)
        g.DrawString(buffer[l][c].Char, this.Font, Brushes.White, buffer[l][c].Position);

そのコードは私が持っているものとまったく同じではありませんが、単純化しただけです。

4

0 に答える 0