Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 03:44

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Direct X

Discussion on Direct X within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
Terrat's Avatar
 
elite*gold: 130
Join Date: Apr 2012
Posts: 1,173
Received Thanks: 670
Direct X

Ich hätte mal hier eine Frage zu DirectX / Render Aufteilung.
Derzeit rendered ein Thread sowohl den Scene Bereich (3D) und danach den HUD/Sprite Bereich (2D). Dies geschieht jeweils auf den gleichen Context und wird danach simpel über die swapchain ausgegeben. Jetzt bin ich am überlegen ob ich nicht 2 getimte Threads laufen lassen wobei das 1 den Scene bereich rendered und das andere HUD/Sprites usw.. und danach wen beide Threads fertig sind die Contexte übereinander lege. (Zuerst der Scene Context und darauf den 2D Context)
Jetzt frage ich mich aber, kann man die Contexte in Direct X 11 einfach so überlappen ? Und wenn ja wie verbinde ich nachher den 2D context mit Alpha state mit dem 3D Context?
Terrat is offline  
Old 12/06/2015, 13:54   #2


 
Jeoni's Avatar
 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,105
Received Thanks: 681
Ich fürchte, dass das zu keinem signifikanten Performanceboost führen wird, da das Bottleneck hier die Kommunikation mit der Grafikkarte ist. Für diese ist meines Wissens nach keine Parallelisierung möglich bzw. wird der Treiber dafür sorgen, dass eigentlich parallele Aufrufe sowieso sequentiell abgearbeitet werden. Man möge mich korrigieren, wenn ich falsch liege, denn 100%ig sicher bin ich mir da nicht.
Ich würde versuchen dort generell anders zu optimieren. Beispielsweise hat man im HUD ja häufig sich nicht veränderliche Objekte / Dinge die über viele Frames gleich bleiben. Die könnte man einmalig in eine andere Textur / auf ein anderes Surface rendern und dann, solange die Dinge gleich bleiben nur diese Textur rendern. In der Welt vielleicht auch ein paar Objekte zusammenführen und ggf. einen Texture Atlas nutzen, wo es sich anbietet.
Mit freundlichen Grüßen
Jeoni
Jeoni is offline  
Thanks
1 User
Old 12/06/2015, 14:17   #3
 
Terrat's Avatar
 
elite*gold: 130
Join Date: Apr 2012
Posts: 1,173
Received Thanks: 670
Quote:
Originally Posted by Jeoni View Post
Ich fürchte, dass das zu keinem signifikanten Performanceboost führen wird, da das Bottleneck hier die Kommunikation mit der Grafikkarte ist. Für diese ist meines Wissens nach keine Parallelisierung möglich bzw. wird der Treiber dafür sorgen, dass eigentlich parallele Aufrufe sowieso sequentiell abgearbeitet werden. Man möge mich korrigieren, wenn ich falsch liege, denn 100%ig sicher bin ich mir da nicht.
Ich würde versuchen dort generell anders zu optimieren. Beispielsweise hat man im HUD ja häufig sich nicht veränderliche Objekte / Dinge die über viele Frames gleich bleiben. Die könnte man einmalig in eine andere Textur / auf ein anderes Surface rendern und dann, solange die Dinge gleich bleiben nur diese Textur rendern. In der Welt vielleicht auch ein paar Objekte zusammenführen und ggf. einen Texture Atlas nutzen, wo es sich anbietet.
Mit freundlichen Grüßen
Jeoni
Danke schon mal. Also stelle ich mir das gerade wie caching vor oder ?
Wobei ich mich immernoch frage wieso die ganzen XYZ games mehrere Threads zum rendern nutzen.
Terrat is offline  
Old 12/06/2015, 14:24   #4


 
Jeoni's Avatar
 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,105
Received Thanks: 681
Kann man sich in der Tat in etwa wie Caching vorstellen. Hab das Wort in diesem Zusammenhang nur noch nicht gehört.
Nutzen die Games tatsächlich mehrere Threads zum Rendern? Mehrere Threads generell ist ja durchaus verständlich, gibt ja auch noch andere Sachen abgesehen vom Rendern. Aber meines Wissens nach kann die Grafikkarte auch nur eine Aufgabe erledigen. Diese zwar hochparallelisiert, aber halt nur ein Satz Shader, also nur ein Zweck zur gleichen Zeit. Könnte aber auch sein, dass das nur die Einschränkung von d3d ist. Wobei selbst wenn man mehrere Aufgaben gleichzeitig bearbeiten lassen könnte, diese entsprechend langsamer laufen würden, weil die Resourcen der Grafikkarte (Shadereinheiten) auf die Aufgaben aufgeteilt werden müssten.
Mit freundlichen Grüßen
Jeoni
Jeoni is offline  
Old 12/06/2015, 15:05   #5
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
Rendern in mehreren Threads ist eine der großen Neuerungen von Direct X 12, und bei vorigen Versionen nahezu unmöglich, bzw. komplett unbrauchbar. Spiele verwenden eigentlich immer nur einen Thread zum rendern. Ich glaube du hast da irgend etwas missverstanden. Spiele benutzen zwar mehrere Threads, aber nicht zum rendern, zumindest nicht unter DirectX < 12 oder OpenGL.
warfley is offline  
Reply


Similar Threads Similar Threads
can please direct me
03/06/2013 - Need for Speed World - 3 Replies
may someone please direct me to thread that has the free roam cam hack? i need it for a mini project:D
Direct X 8.1
04/14/2011 - Wolfteam - 20 Replies
Hei, also wenn ich wolfteam starten will erscheint eine meldung auf englisch das direct x 8.1 fehlt, wenn ich es downloaden will steht da nur für windows 98 und millenium edition, die neuere version 9.0 giebt es für vista (welche sich hab) aber beim installieren kommt das ich dieses programm schon habe..habe wolfteam entfernt,deinstalliert neu gedownloadet aber trotzdem immer diese meldung bei anderen spielen genau das gleiche habt ihr villt ideen oder könnt mir helfen?
WOuld someone help direct me....
07/27/2010 - GW Bots - 7 Replies
Hi, due to my lack in ability to speak dutch/german and the fact that i cant find a translator thats worth anything.....I have been scouring this site for a GW bot that farms snow wurms in Boreal Station. If anyone can direct me to that i would be in your debt. Thank you and have a wonderful day.
can any direct me
06/19/2009 - Zero - 0 Replies
can any please tell me how i would go about makeing a spped hack or if there is a topic explainging already i cant see please send me the address
looking for direct x 9
03/09/2008 - GunZ - 1 Replies
im looking for direct x 9 for gunz if you know the website please tell me thanks:cool:



All times are GMT +1. The time now is 03:44.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.