Почему скорость рисования графики медленнее в C #, чем в VB6 - PullRequest
3 голосов
/ 04 ноября 2010

Привет Мне интересно, почему обычная графическая скорость намного медленнее, чем VB6 в коде C #, Вот пример кода, который делает то же самое в VB6 и C #, это занимает 1,7 секунды в VB6 на моем компьютере и 4,2 секунды в C # Может кто-нибудь, пожалуйста, скажите мне, почему, а также, если есть лучший и быстрый способ в C #.

Спасибо

C # код

Bitmap MyBitmap = new Bitmap(1024, 768);
Graphics g = Graphics.FromImage(MyBitmap);
DateTime STime = DateTime.Now;
Pen MyPen = new Pen(Color.Black);
for (int i = 0; i < 100000; i++)
{
    g.DrawLine (MyPen, 0, 0, 1024, 768);
}
MessageBox.Show(DateTime.Now.Subtract(STime).TotalMilliseconds.ToString());

Код VB6:

Me.AutoRedraw = True
t = Timer
For i = 1 To 100000
    Me.Line (0, 0)-(1024, 768), 0
Next
MsgBox (Timer - t)

1 Ответ

4 голосов
/ 04 ноября 2010

VB6 идет прямо в GDI. C #, который использует System.Drawing, использует GDI +. GDI + сглаживается и использует 32 бит / с. По сути, есть куча накладных расходов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...