View previous topic :: View next topic |
Author |
Message |
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Mon Nov 10, 2008 10:46 am Post subject: |
|
Lai te nesāktos offtopiks, pastāstīšu skaidrāk savu domu, kura noderēs dažiem labiem programmētājiem.
Ideja ir pavisam vienkārša - veidot programmu tā, lai CPU pēc iespējas mazāk sūtītu funkcijas (datus) GPU. Par piemēru - VBO. Lai tas glabātos GPU atmiņā un CPU nevajadzētu tērēt laiku, pietiek šo pašu funkciju (datus) izsaukt tikai vienreiz. (par šo es lasīju vienā žurnālā, tāpēc nepastāvu uz informācijas pareizību).
Tāpat arī objektu teselācija. Programmā stāv objekts ar 4000 plogoniem, kas ar videokartes funkciju to sadala vēl smalkāk. Agrāk tas prasīja papildus atmiņu, ar šo funkciju - vairs nē.
Tātad, vienas fukcijas aktivizēšana var aizstāt veselu kaudzi citas.
P.S. Der arī palasīt:
http://www.overclockers.com.ua/video/gpu-evolution/
Programmētājiem, kas aizraujas ar 3d grafiku, der arī pamācīties videokaršu arhitektūru ... un papildus tam optimizēt, kādas funcijas pildīs GPU, kādas CPU. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
MoKa
Joined: 10 Oct 2007 Posts: 79 Location: Daugavpils
|
Posted: Mon Nov 10, 2008 4:13 pm Post subject: |
|
EDDY, tāpec ka es macos rakstit pareizi šeiderus, lai uz ATI tas darboja. Piemeram:
float3 Diffuse = tex2D(TexDiffuse,IN.TexCoords).rgb;
float4 Color = Diffuse;
Tas normali kompilējas uz GF, bet uz ATI ne visie tas kompīle..
Un tur ir ari dažadas Rules _________________ Текущий Инструментарий: BlitzMax + Xors3D + FastImage + PhysX + sFXe |
|
Back to top |
|
|
Storm
Joined: 11 Apr 2006 Posts: 742
|
Posted: Mon Nov 10, 2008 4:22 pm Post subject: |
|
Moka vispaar jau nemaz nedriikst knoverteet no float3 uz float4 Briinos kas tev par crappy HLSL kompileri ja par neparaada error uz sito...
jaadara sitaa:
Code: |
float3 Diffuse = tex2D(TexDiffuse,IN.TexCoords).rgb;
float4 Color = float4(Diffuse, 1.0f); //1.0f vietaa liec vienalga ko...
|
_________________ Izraadaas ka dazu dev.gamez.lv lietotaaju absurdaa ignorance meedz eksisteet arii augstaakas paakaapees : http://www.gamedev.net/community/forums/topic.asp?topic_id=411552 |
|
Back to top |
|
|
anggelus
Joined: 23 Feb 2005 Posts: 383 Location: Rīga (LV)
|
Posted: Mon Nov 10, 2008 9:29 pm Post subject: |
|
Storm wrote: | Briinos kas tev par crappy HLSL kompileri ja par neparaada error uz sito...
|
nvidias kompileris _________________ No comprendo lo que dice. |
|
Back to top |
|
|
MoKa
Joined: 10 Oct 2007 Posts: 79 Location: Daugavpils
|
Posted: Tue Nov 11, 2008 9:19 am Post subject: |
|
Storm, yep, ka teici anggelus, NVidia kompilieris, kompilē normali šo kodu.. _________________ Текущий Инструментарий: BlitzMax + Xors3D + FastImage + PhysX + sFXe |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Tue Nov 11, 2008 10:33 am Post subject: |
|
Es īsti nesapratu.. Vai tad HLSL kompilētāju neraksta Microsofts kā Direct3DX sastāvdaļu? |
|
Back to top |
|
|
Storm
Joined: 11 Apr 2006 Posts: 742
|
Posted: Tue Nov 11, 2008 10:46 am Post subject: |
|
Lieto RenderMoney or NVidia's FX Composer, tas nav normali ka vnk ljauj pieskirt bez errora un beigaas neiemaaciisies neko no HLSL normaali tpc ka pie float2 pieskirsi float4 lol _________________ Izraadaas ka dazu dev.gamez.lv lietotaaju absurdaa ignorance meedz eksisteet arii augstaakas paakaapees : http://www.gamedev.net/community/forums/topic.asp?topic_id=411552 |
|
Back to top |
|
|
MoKa
Joined: 10 Oct 2007 Posts: 79 Location: Daugavpils
|
Posted: Tue Nov 11, 2008 11:10 am Post subject: |
|
float4 = float2 - bus errors..
Piemeram tads kods:
float3 Diffuse = tex2D(TexDiffuse,IN.TexCoords);
Nestrada uz 30% ATI, bet šitais:
float3 Diffuse = tex2D(TexDiffuse,IN.TexCoords).rgb;
Strada visiem ok.
Neizmantoju RM vai FXC tapec ka interesanti rakstit šeiderus by self.. _________________ Текущий Инструментарий: BlitzMax + Xors3D + FastImage + PhysX + sFXe |
|
Back to top |
|
|
anggelus
Joined: 23 Feb 2005 Posts: 383 Location: Rīga (LV)
|
Posted: Tue Nov 11, 2008 11:13 am Post subject: |
|
bubu wrote: | Es īsti nesapratu.. Vai tad HLSL kompilētāju neraksta Microsofts kā Direct3DX sastāvdaļu? |
Kad pirms pāris gadiem saskāros ar šo, mani arī izbrīnīja tas, ka tāds kods kompilējās, ja ir nVidias karte. _________________ No comprendo lo que dice. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Tue Nov 11, 2008 11:53 am Post subject: |
|
Diezgan loģiski, ne? Trīskomponenšu vektoru piešķirt trīskomponenšu vektoram. Vai tad par to ir jābrīnās, ka tas strādā?
Quote: | Neizmantoju RM vai FXC tapec ka interesanti rakstit šeiderus by self.. |
Kā tas jāsaprot? Vai tad RenderMonkey raksta šeiderus pats? Neesmu pats to lietojis, bet biju uzskatījis, ka tā ir tikai ērta IDE, kur notestēt paša rakstītus šeiderus ar ērtām fīčam (dažādu parametru mainīšana, tekstūras, utt..) |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Tue Nov 11, 2008 11:57 am Post subject: |
|
nvidia daudz ko normāli kompilē.
tik normāli, ka es Stalkeros abos neredzu debesis, ja nav ieslēgta Direct3D debug mode... (un tas nav tikai uz manas apdalītās kartes)
nvidia sux on d3d :D
bubu: es atkal esmu redzējis, ka ar jaunākiem nvidia draiveriem slikti rakstīti šeideri (kuri mūsdienās ir stilīgi jaunākajās spēlēs, ir arī zināmi gadījumi ar dažām vecajām) optimizējas labāk. no tā var secināt, ka šeideri iziet kaut kādu kompilēšanas posmu draiveros / videokartē.
Quote: | Vai tad par to ir jābrīnās, ka tas strādā? |
a kurš par to brīnās? :?
šoreiz mana kārta lūgt adminiem/moderatoriem pārnest šo offtopiku citur |
|
Back to top |
|
|
MoKa
Joined: 10 Oct 2007 Posts: 79 Location: Daugavpils
|
Posted: Tue Nov 11, 2008 1:34 pm Post subject: |
|
snake5, tev ir GS videokarte? Ir daudz low price video kartes, kuras kaut ko ne darbojas.. tapec vini ir low price
bubu, ja uz sitiem programiem var rakstit seiderus, bet man ir savs seideru menedzeris un t.t. lai paskatit atri resultatu _________________ Текущий Инструментарий: BlitzMax + Xors3D + FastImage + PhysX + sFXe |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Tue Nov 11, 2008 4:31 pm Post subject: |
|
oj nē, man integrētā.
Direct3D vēl diezgan ciešams salīdzinājumā ar OpenGL.
OpenGL sux uz šīs kartes. Bija problēmas ar FBO, konkrētāk - dažiem tādiem neparastākiem formātiem, kuri pat uz Direct3D iet.
ir SM3 arī, bet karte neprot tekstūras lasīt vertexu šeiderī. |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Tue Nov 11, 2008 5:11 pm Post subject: |
|
snake5 wrote: | oj nē, man integrētā. |
Un vēl brīnās, ka viņam vispār kas rādās.... _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Tue Nov 11, 2008 7:18 pm Post subject: |
|
EDDY, nebrīnos.
Tā ir videokarte.
Kad būsi atnesis konkrētu sarakstu ar kartes spējām, izanalizējis to, un uzzinājis, kāpēc kaut kas man neiet, tad atnāc un stāsti. Citādāk GTFO. ASS.
(get the f*** out. and stop spamming.) |
|
Back to top |
|
|
|