2010-06-25 32 views
5

Tôi đang cố gắng đẩy FPS của mình lên trên iPhone 3G từ 30 càng cao ... và tôi đang gặp phải một số vấn đề và nghĩ rằng sẽ tốt hơn xin lời khuyên.Tối ưu hóa OpenGL ES trên iPhone và diễn giải Công cụ

1) Chính xác các cột Sử dụng và Tiler sử dụng Renderer trên công cụ OpenGL ES biểu thị điều gì? Tỷ lệ phần trăm sử dụng Tiler của tôi cực kỳ thấp và việc sử dụng Renderer của tôi có xu hướng giảm trong tương tác người dùng và khi ứng dụng được chuyển sang chế độ ngang. Tôi nhận thấy rằng FPS của tôi có xu hướng giảm bất cứ khi nào giá trị sử dụng Renderer giảm xuống là tốt. FPS của tôi giảm trong chế độ phong cảnh đặc biệt kỳ quặc đối với tôi, vì chế độ dọc và chế độ ngang sử dụng cùng một logic trò chơi, và hoạ tiết ... và chế độ ngang thực sự hiển thị ít đỉnh/tam giác hơn để khởi động (một số phần của giao diện người dùng không được vẽ ở tất cả trong chế độ ngang).

2) Tôi đã thực hiện hầu hết các tối ưu hóa được đề xuất trong các video ngmoco/Stanford, và điều duy nhất tôi nghĩ tôi có thể làm bên trái là thay đổi GLfloats thành GLshort và xen kẽ các đỉnh của tôi với tọa độ kết cấu của tôi thành một mảng. Có bất kỳ trong số này có khả năng có hiệu ứng lớn trên FPS của tôi? Đó là trò chơi 2D với nhiều kết cấu lớn, chi tiết ...

3) Cách nhanh hơn để ẩn đa giác: đặt tất cả các đỉnh của nó thành cùng tọa độ (về cơ bản, giảm nó thành một điểm), hoặc đặt giá trị alpha của nó thành 0? Tôi đoán nó trước đây, vì pha trộn là chậm nói chung và đặc biệt đắt tiền trên iPhone.

4) Hiện tại, tôi đang sử dụng kết cấu 2 512x512, kết cấu 1024x512 và kết cấu 256x256. Tôi đã tìm kiếm lời khuyên về cách quản lý tốt nhất điều này và tôi được yêu cầu không kết hợp chúng thành 1 texture 1024x1024 vì các vấn đề về bộ nhớ trên iPhone 3G. Tôi muốn xác nhận rằng ở đây, bởi vì nếu tôi đặt tất cả mọi thứ vào 1 kết cấu, tôi có thể loại bỏ phải gọi glBindTexture nhiều lần ...

Trả lời

0

Để # 4: (a) có, tài liệu iPhone không được xử lý hình ảnh lớn hơn 1024 ở một bên. 1024x1024 là giới hạn lý thuyết tối đa, mặc dù bạn có thể gặp phải vấn đề nếu bạn cố gắng đẩy mạnh lên chống lại giới hạn.

(b) tất cả họa tiết của bạn không vừa với 1024x1024; sau khi 1024x512 và 2 512x512 lấp đầy không gian đó, bạn sẽ vẫn còn lại 256x256.