Tôi hiện đang làm việc trên một trò chơi đua xe 3D cho nền tảng iOS. Tôi đã phải thực hiện một hệ thống phát lại và sau đó ghi lại phát lại đó trong một tệp video để tải nó lên YouTube.
Tôi chỉ gặp vấn đề với phần ghi âm, phần còn lại đã xong. Những gì tôi đang làm là sử dụng glReadPixels()
lệnh của OpenGL ES 1.1 để ghi lại nội dung bộ đệm khung và tạo video từ các khung này trong thời gian chạy (sử dụng khung AVFoundation).
Vấn đề tôi gặp phải là tôi phải gọi glReadPixels()
trong mỗi bản cập nhật rất chậm. Nó giảm FPS từ khoảng 30 xuống chỉ còn 2-3 ... Có cách nào thay thế cho glReadPixels()
lệnh không? Hoặc có ai đã tạo ra một hệ thống phát lại và ghi lại thành video?