nach dem großen Kampf schrieb ich "Game Engine" und ich fand sehr seltsame Bug. Wenn Sie Ihr Formular verschieben, erhalten Sie OutOfMemory-Ausnahme (Anwendung springt von weniger als 24 MB auf mehr als 6 GB RAM in weniger als 5 Sekunden), aber das ist nicht das seltsamste Ding. Dies erscheint NUR, wenn Sie sich in eine andere Richtung bewegen. hier ist Stück Code, das ich schrieb, die identisch wie als meine Anwendung funktioniert, obwohl dies bis zu bewegen Form sofort nach stürzteigentümlich OutOfMemory Ausnahme
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApplication10
{
public partial class Form1 : Form
{
Graphics h;
Bitmap bmp;
System.Threading.Thread WTF;
public Form1()
{
InitializeComponent();
}
private void LOL()
{
bmp = new Bitmap(500, 500);
Graphics WHAAAAT = Graphics.FromImage(bmp);
while (true)
{
WHAAAAT.FillEllipse(Brushes.Black, 50, 50, 50, 50);
h.DrawImage(bmp, 0, 0);
}
}
private void WOOT(Graphics g)
{
h = g;
WTF = new System.Threading.Thread(new System.Threading.ThreadStart(LOL));
WTF.Start();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics d = panel1.CreateGraphics();
d.FillEllipse(Brushes.Black, 50, 50, 50, 50);
WOOT(d);
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
WTF.Abort();
}
}
}
Formular Grenze Stil singleFixed gesetzt. irgendeine Idee, warum dieses Ding passiert? in meinem Fall ist es andere Ausnahme von enormer RAM-Auslastung verursacht wirft aber es scheint, auch nur, wenn Sie
Haben Sie es profiliert? – Carcigenicate
mit einer Variablen namens WTF ist die C# Hintertür für nasale Dämonen, deshalb komische Dinge passieren :) –