Saya telah ditugaskan untuk membangun demo "layar penuh" waktu nyata untuk dijalankan pada array 5x2 TV LED 60+ inci: atau, dengan kata lain, layar 20 megapiksel.
Kami memiliki mesin yang dibangun yang dapat menjalankan penyebaran desktop Win7 tunggal di seluruh layar dengan resolusi penuh, dan beberapa kartu video yang cukup bagus.
Pertanyaan saya adalah: selain dari jumlah pekerjaan konyol yang akan dilakukan oleh pixel shaders saya, apakah ada batasan lain dari DX10. * Yang akan berperan di sini yang tidak akan pada viewport berukuran lebih waras? Saya tidak akan memiliki akses ke perangkat keras sampai minggu depan tetapi saya ingin memiliki sesuatu yang ditulis pada saat itu yang dapat saya gunakan untuk benchmark sistem.
Memperbarui
Sementara saya berhasil mendapatkan ini bekerja pada satu mesin dengan sekelompok AMD EyeFinity (6 output) kartu - untuk menjaga hal-hal bekerja dengan lancar, cara "termudah" ternyata adalah membuat jendela DX per tampilan sebagai memiliki tampilan rentang jendela menyebabkan beberapa masalah kinerja - Saya juga membuatnya bekerja cukup baik dengan mendistribusikan tugas di sekelompok mesin, yang masing-masing menggerakkan dua layar.
Ternyata sangat mudah. Untuk aplikasi pengujian XNA saya, saya menambahkan GameComponent yang menangkap beberapa kondisi permainan (posisi / orientasi kamera, dll.) Dan UDP-mem-spam-nya ke subnet per frame lokal.
Komponen itu memiliki Mode
sakelar (kirim atau terima). Jika dalam Receive
mode, ia menangkap datagram UDP dan memperbarui status game dengan informasi dari pengirim. Send
mode hanya mengirim paket state, dan, melalui service / daemon, menyebabkan node memulai atau menghentikan aplikasi klien. Setiap klien dapat bertindak sebagai "master", dan mengalihkan klien ke Send
mode meminta semua node lain untuk beralih ke Receive
. Sangat menghibur melihat apa yang terjadi ketika orang-orang memperebutkan kontrol.
Manfaat lain yang rapi: Saya membuat aplikasi konsol yang memproses serangkaian definisi keadaan keyframe - lokasi, waktu, dll - menginterpolasi sesuai kebutuhan, dan mengirimkannya menggunakan kode yang sama seperti yang digunakan dalam mesin game. Ini memungkinkan saya dengan mudah menyalin gerakan, mengirim transformasi dari browser web, dll.
Secara keseluruhan, butuh sekitar 50 baris kode untuk menjaga banyak salinan aplikasi berjalan dalam sinkronisasi. Beberapa kompleksitas tambahan datang dari pengaturan posisi kamera untuk setiap mesin dan mengoreksi beberapa gangguan perspektif / proyeksi, tetapi sebagian besar berasal dari file konfigurasi per-simpul.