Directx 12-ში multi-gpu-ს driver აღარ უზრუნველყოფს, მთლიანად დეველოპერზეა დამოკიდებული როგორ გააკეთებს ან დაასაპორტებს თუ არა საერთოდ;
რაც შეეხება სხვადასხვა ვიდეო კარტების ერთად მუშაობას, ეს აბსოლუტურად შესაძლებელია თუ დეველოპერი იმპლემენტაციას გაუკეთებს, არსებობს
ორნაირი multi-gpu რეჟიმი, AFR(alternate frame rendering, აუცილებელია SLI ან CrossFire) და Frame Pipelining(ორი ან მეტი ნებისმიერი GPU);
AFR მუშაოს მარტივად, რენდერი მიდის რიგ-რიგობით(0-1-0-1-0-1), ერთადერთი მინუსი არის temporal ტექნიკების ჰენდლინგი(როცა შემდეგი კადრი დამოკიდებულია წინაზე,
მაგალითად temporal anti-aliasing), ამისათვის საჭიროა წინა კადრის ინფორმაციის კოპირება ერთი GPU-დან მეორეზე და თუ ეს ინფორმაცია დიდია, მეორე კარტას უწევს ლოდინი
სანამ კოპირება მორჩება რადგან copy queue-ს შეზღუდული წარმადობა აქვს.
Frame pipelining-ის შემთხვევაში ხდება კადრის გაყოფა ორ ნაწილად, ერთ ნაწილს ერთი gpu არენდერებს, მეორე ნაწილს - მეორე, აქ მთავარი პრობლემა ზუსტად კადრის გაყოფის
ოქროს წერტილის პოვნაა რადგან უნდა განსასღვრო სად გაყო კადრი და გაიგო რომელი gpu უფრო ძლიერია და რომელი სუსტი, და შესაბამისად მისცე დავალებები შესასრულებლად;
ორივეს იმპლემენტაცია მაქვს დაწერილი DX12-ზე და მაინც AFR-ს ვარჩევ სიმარტივის გამო...