Tôi đang cố gắng tải hình ảnh nhanh chóng vào một hình tượng và vẽ lên chúng. Tôi có độ trễ 0,13 giây giữa thời gian tôi chỉ định bitmap cho hộp hình và khi nó hiển thị. Và bất cứ khi nào tôi thực hiện một số picturebox.refresh()
, nó cũng giống như vậy .13 - .15 giây trước khi phương thức vẽ được gọi. Có cách nào để thoát khỏi sự chậm trễ này không?Hiển thị hộp hình ảnh nhanh hơn
Tôi đang sử dụng C# trong Visual Studio 2010. Tôi tải hình ảnh bằng thư viện FreeImage.
Đây là mã trong trường hợp pictureBox_MouseMove tôi:
if (IsMouseDown || DrawLine.Checked || IsMovingBox)
{
Tracing.Trace("Update Picture Box");
pictureBox.Refresh();
}
Sau đó, tôi truy ra một dòng khi sự kiện sơn của tôi được gọi. Sự chậm trễ là giữa hai dòng dấu vết.
Nếu tôi sử dụng hình ảnh tiff bitonal ở 117kb độ trễ là 0,1 giây. Để tải hình ảnh này vào bộ nhớ mất 0,04 giây. Để thay thế bitmap hình ảnh của tôi với bitmap này mất 0,01 giây.
Nếu tôi sử dụng hình ảnh jpg tỷ lệ xám ở mức 1125kb, độ trễ là 0,14 giây. Để tải hình ảnh này vào bộ nhớ mất 0,26 giây. Để thay thế bitmap hình ảnh của tôi với bitmap này mất 0,03 giây.
Hans, Điều đó có thể làm được! Các bài kiểm tra ban đầu chắc chắn tốt hơn! Lắp nó vào mã của tôi ở đây và thiết lập tỷ lệ khung hình chính xác ... – Mark
Hans, Điều đó thật hoàn hảo! Rất đẹp! Cảm ơn! – Mark