2013-05-15 67 views
5

Chạy hạt nhân Jocl (opencl wrapper) làm cho đầu ra java3d bị vô hiệu hóa. Khi opencl kết thúc, java3d continus làm việc.Java applet: hoạt động jocl dừng java3d

Làm cách nào để cho phép Opencl (jocl) và opengl (java3d) hoạt động cùng nhau? Tôi cần một số loại lệnh cho biết "thời gian opencl của nó" và khi nó kết thúc nó nói "thời gian opengl của nó bây giờ".

Bằng cách nào đó java3D Jpanel bị đóng băng và chuyển sang màu xám khi opencl đang hoạt động.

Tôi đã làm một số truy tìm và phát hiện ra rằng java3D là quấy rối opencl (jocl), động cơ jmonkey 3.0 không làm điều đó. Một thử khác cho thấy jmonkey làm điều tương tự. Đột nhiên tất cả các vị trí hạt dừng cập nhật bởi opencl sau đó tất cả các vị trí đi 0,0,0.

Sử dụng ngữ cảnh, chương trình, id, ... duy nhất cho từng thiết bị.

Lỗi trông như thế nào: trong khi thiên hà được chiếu trơn tru, đột nhiên tất cả các hạt được chiếu trên mặt phẳng mà tôi không tạo sau đó vài giây sau khi mặt phẳng được chiếu lên một đường và cuối cùng đường đó được chiếu lên một điểm. Tất cả những điều này phải là do bộ đệm x [] y [] z [] bắt đầu lấy số không cho tất cả các phần tử.

Chỉnh sửa: tần số hoạt động của CPU thấp làm cho lỗi ít thường xuyên hơn. Điều này có thể đẩy gpu khó khăn hơn so với furmark bởi vì tính toán trong địa phương để làm việc nhanh hơn? Hay đây là vấn đề ưu tiên thời gian/truy cập giữa jocl/jmonkey/java3d? Tất cả các chương trình khác bao gồm furmark, ổn định ở mức 1225MHz (hd7870 hawk) nhưng điều này có khả năng ổn định hơn chỉ 1000MHz (AMD mặc định là hd7870) hoặc trông không ổn định vì bộ đệm bị phá hủy bởi bộ sưu tập rác bị lỗi ??

Aparapi (trình bao bọc opencl cho java) không bao giờ là vấn đề và hoạt động tốt ở 1200MHz Thậm chí có lỗi "trình điều khiển đã ngừng hoạt động và phục hồi". Chất xúc tác 13,3 beta. Jocl 1.5.1 và mệt mỏi 1.5.2. Catalyst 13.4 whql không giống nhau.

Đưa hệ thống.gc(); ngay trước khi vòng lặp kernel-lặp đi lặp lại làm cho điều sai lầm ngay lập tức, có phải là một điều thu gom rác thải tôi đã bỏ lỡ

Với một số tracing: Phương pháp clCreateBuffer có một vấn đề với thu gom rác thải

Chỉnh sửa: Solved vấn đề này. Bộ đệm được tạo bởi clCreateBuffer trong chủ đề chính có vẻ như là một thùng rác (được thu thập) cho các tiểu chủ đề khi sử dụng thuộc tính CL.CL_MEM_USE_HOST_PTR. CL.CL_MEM_COPY_HOST_PTR giải quyết vấn đề khi đổi từ% 1-% 2 mất hiệu suất

Cảm ơn.

+0

Java3D có thể sử dụng OpenGL hoặc DirectX. Không chắc chắn nếu điều này sẽ giúp đỡ, nhưng nó có giá trị một thử: '-Dj3d.rend = d3d' – whiskeyspider

+0

Không thể có được công việc đó. Tôi nghĩ rằng trình điều khiển của tôi chất xúc tác hoặc amd gói ứng dụng bị hỏng. –

Trả lời