Tôi đang cố gắng để có được một hình ảnh ra khỏi một chế độ xem nơi người dùng có thể vẽ trên hoặc thêm một số chế độ xem khác. Với iPad1 & 2 mọi thứ đang hoạt động tốt cho đến nay. Nhưng trên iPad3 nó chạy như một con chó. Tôi chỉ sử dụng phương thức renderInContext của lớp.iPad 3 renderInContext chậm - Hiệu suất kết xuất kém
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
UIGraphicsBeginImageContextWithOptions(self.viewDrawableViewContainer.frame.size, NO, [UIScreen mainScreen].scale);
else
UIGraphicsBeginImageContext(self.viewDrawableViewContainer.frame.size);
[self.viewDrawableViewContainer.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Tôi biết điều này có thể là do cpu tương đương với ipad2, nhưng phải mất khoảng 1 giây. Càng nhiều người dùng vẽ hoặc thêm, thì càng mất nhiều thời gian để hiển thị. Đôi khi lên đến 5 giây mà thực sự là không thể chấp nhận. Vì vậy, có bất kỳ tùy chọn nào để cải thiện hiệu suất không? Bất kỳ cơ hội nào để có thể đặt chất lượng hiển thị nhỏ hơn - Tôi không cần hiển thị ở độ phân giải cao nhất ...
Tôi sẽ đánh giá cao bất kỳ trợ giúp nào! Cảm ơn trước
Bạn có thể dự đoán chế độ xem nào sẽ được vẽ không? Nếu vậy bạn có thể thực hiện thao tác vẽ trong nền và lưu vào bộ nhớ cache kết quả, điều này sẽ không làm đóng băng thiết bị. –
Được rồi, cảm ơn vì gợi ý, tôi có thể tạo hình ảnh ở chế độ nền nhưng vấn đề là, người dùng có thể viết một số văn bản và nhấn vào khi di chuyển. Sau đó, tôi sẽ phải thực hiện bản vẽ ngay lập tức sau khi người dùng tương tác vì chế độ xem sẽ bị đóng sau khi nhấn vào khi di chuyển. Nhưng cảm ơn, có lẽ tôi có thể hiển thị trong khi hoạt ảnh đóng đang hoạt động. Tôi sẽ thử ... Vì vậy, không có cách nào khác để cải thiện hiệu suất hiển thị? – Alexander
Không may mắn thay, tung ra 4 lần về cơ bản cùng một CPU với nhiều pixel chỉ đơn giản là giết hiệu suất. Masking nó với hình ảnh động là một cách tuyệt vời để giải quyết vấn đề, và là cách Apple làm điều đó. Nếu bạn cho phép người dùng vẽ vào chế độ xem, bạn đang vẽ gì? Không có UIImage nào sao lưu chế độ xem mà bạn có thể kéo ra ngay lập tức thay vì hiển thị chế độ xem theo ngữ cảnh không? –