|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Tue Dec 12, 2006 10:32 am Post subject: Optimizēšana |
|
Sen jau gribēju prasīt šādu jautājumu -
Klīst baumas, ka C++ valodai (precīzāk gan VS.NET) var pielāgot plug-inus, lai optimizētu ātrdarbību uz tehnoloģijām - MMX, SS2, SS3 u.t.t.
Un raksta arī, ka ātrdarbība pieaugot līdz pat 20%.
Vai tas tā ir?
Jā, un pie viena - Vai VTune ir pieejams parastiem lietotājiem kā FreeWare, jebšu tas ir par maksu. Pēdējā laikā interesē optimizēšanas iespējas, tāpēc šo tā prasu.
P.S. Cerams doma skaidra?!?!? _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
DeRatizators
Joined: 27 Apr 2006 Posts: 492
|
Posted: Tue Dec 12, 2006 11:39 am Post subject: |
|
Klīst baumas, ka sākumā vajag, lai būtu ko optimizēt !
Eheheheh, sorry _________________ Any PANCAKE has to be long and thin and short and fat. Not to mention being an excellent insulator and a superb conductor. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Tue Dec 12, 2006 12:04 pm Post subject: |
|
Par VS.NET nezinu, bet VS 2005 C++ kompilētājam ir opcijas, kas ieslēdz SSE vai SSE2 izmantošanu (nevis SS2 un SS3).
Par MMX vispār vajag aizmirst, tā ir veca tehnloģija un MMX reģistri pārklājās ar FPU reģistriem. Tāpēc nevarēs vienlaicīgi veikt integer un float operācijas. Un pie tam 64-bitu Windows OSē nemaz nevar lietot MMX.
MMX alternatīva ir SSE2, kas dara tās aptuveni pašas darbības, ko SSE1. Tb SSE2 darbojas ar integer skaitļiem, un SSE1 ar float. SSE3 ir dažas papildus operācijas, kuras tev tāpat nevajadzēs savu mūžu izmantot ;)
Ātrdarbības max var pieaugt 4x, bet tas tīri teorētiski, praktiski sanāk daudz mazāk. Ja pašķirstīsi dažus topikus atpakaļ, tad redzēsi topiku, kur es reizināju lielas matricas. Izmantojot SSE, tas sanāca gandrīz 4x ātrāk nekā ar prastu FPU.
Pareizi DeRatizators pareizi jau saka - sākumā ir jābūt ko optimizēt. Tā vienkārši no zila gaisa ātrdarbība tev nepalielināsies jebkuram kodam. Algoritmiem jābūt atbilstošiem, kas darbojas ar vektoriāliem datiem (tb vienādas operācijas uz masīva elementiem), ne skalāriem (piem saskaitīt divus skaitļus).
Kā arī - tas nav C++ only fīča. SSE1/2/3 var izmantot jebkurā programmēšanas valodā. Protams, zema līmeņa valodai kā asm/C/C++ to ir vieglāk izmantot nekā augsta.
Par VTune - apskatīties izstrādātāja mājaslapu, tur visam jābūt uzrakstītam. |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Tue Dec 12, 2006 3:17 pm Post subject: |
|
Vai tev, Bubu, ir zināma kāda laba grāmata par šo optimizēšanas tēmu?
Der angļu, krievu, latviešu, vācu valodās.
Tu jau mums staigājošā bibliotēka.
Vienkārši es jau nezinu ko tieši meklēt. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Tue Dec 12, 2006 4:12 pm Post subject: |
|
em.. moška sākt ar oficiālo dokumentāciju?
Gan vizuālās studijas (MSDN), gan Inteļa/AMD manuāļus par šo tēmu. Tur ir ļoti labi daudzas lietas, ko var un ko nevar izdarīt.
Atver studijas helpu un uzmeklē vārdu SSE. A par inteļa manuāļiem uzmeklē PDFus viņu lapā: IA-32 Architectures Software Developer's Manuals. Ja nemaldos tad jālasa ir Volume 3.
Neaizmirsti uzsērčot arī gūglē: SSE C++ tutorial. Domāju ar to pilnīgi pietiks sākumam, kamēr sapratīsi, kas tas tāds SSE ir.
Kautgan mani jau māc šaubas, ka tas izrādīsies noderīgs tev. Jo programmējot ar SSE ir jādomā ar galvu. Un tev, kā jau visiem zināms, tas nepadodas īpaši labi. Viss uz paplātes priekšā tur nebūs uzrakstīts.
Un EdDy, mans niks nerakstās ar lielo B burtu, ja neesi pamanījis. |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Tue Dec 12, 2006 4:35 pm Post subject: |
|
Bubu, es tavu vārdu rakstu ar lielo aiz pieklājības ....
Tu domā, ka man ir problēmas ar domāšanu?
Bet vai tu vari atrast dzīves situācijā vienīgo pareizo variantu? Atrast ideālāko darbu, noorganizēt visus dzīves procesus sev par labu?
Vai vari no pirmā skatiena pateikt kas cilvēks par tipu?
Vai zini kāpēc dzīvojam uz planētas Zeme?
Kāpēc dzīvās radības ir tik daudz?
Un visu beidzot, vai zini ka gaišredzība, WooDoo un citi prikoli ir fizikas likumu pamatā? Par pareģošanas mehānismu es nerunāšu - to ir elementāri aprakstīt matemātiski.
Tu to vari? Es varu. Un es nebūt neesmu pēc skata savādāks.
Es savu analīzi nevirzīju uz programmēšanu, jo slinkums lasīt grāmatas.
Interesē tikai tas, kas dod iedvesmu.
Bet nu pietiks slinkot. Lai gan atkal, ja zudīs iedvesma, tad zudīs jēga vispār ko darīt ...
Tā kā, bubu, nedomā tieši. Varbūt esmu elektriķis un nekādā LLU neesmu gājis. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Tue Dec 12, 2006 4:57 pm Post subject: |
|
EDDY wrote: | Tu domā, ka man ir problēmas ar domāšanu? |
Jā. |
|
Back to top |
|
|
DeRatizators
Joined: 27 Apr 2006 Posts: 492
|
Posted: Tue Dec 12, 2006 10:09 pm Post subject: |
|
EDDY, ja nav nosleepums, tad kaadaa nozaree tu ieguvi savu graadu ? _________________ Any PANCAKE has to be long and thin and short and fat. Not to mention being an excellent insulator and a superb conductor. |
|
Back to top |
|
|
gazz
Joined: 03 Jan 2004 Posts: 355 Location: Teika
|
Posted: Wed Dec 13, 2006 4:20 am Post subject: |
|
bubu wrote: | EDDY wrote: | Tu domā, ka man ir problēmas ar domāšanu? |
Jā. |
pievienojos |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Wed Dec 13, 2006 4:01 pm Post subject: |
|
DeRatizators wrote: | EDDY, ja nav nosleepums, tad kaadaa nozaree tu ieguvi savu graadu ? |
Programmēšanas inženieris.
To bubu & Gazz: Domāt nav kaitīgi! Ņem vērā, ka programmēt var ne tikai softu un hardwari. Ai, ko ar jums te mietpilsoņiem runāties. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Dec 13, 2006 4:31 pm Post subject: |
|
Protams, ka domāt nav kaitīgi. Taču nedomāt (kā tu to dari) ir kaitīgi. Ne tikai sev, bet arī apkārt esošajiem.
Quote: | Ņem vērā, ka programmēt var ne tikai softu un hardwari. |
Ko tad vēl var programmēt? Pankūkas uz plīts?
Stulbs jautajums - vai tev vēl nav apnicis būt par klaunu šajā forumā? |
|
Back to top |
|
|
Olby Indago dalībnieks
Joined: 19 Apr 2004 Posts: 230
|
Posted: Wed Dec 13, 2006 4:53 pm Post subject: |
|
Quote: | ... jo slinkums lasīt grāmatas. |
bubu lasa tāpēc var kaut ko iebilst. Ņjā EDDY un kas tu par gudru cilvēku ja nelasi grāmatas un manuālus, visu programmas kodu tev te neviens nerakstīs. Nāksies domāt ar savu galvu. Laikam būs jāpasauc Kirurgs Karlis Vietniekvaards _________________ http://www.olbyonline.com/ |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Wed Dec 13, 2006 4:56 pm Post subject: |
|
Varu arī izbeigt. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Dec 13, 2006 5:06 pm Post subject: |
|
Ui, šitādu pērli par grāmatu nelasīšanu palaidu garām. Kautgan nav jau nekāds brīnums.. ko gan citu varēja no EDDY sagaidīt.
Ar to arī EDDY tu atšķiries no cilvēkiem, kuri grib, var un beigu beigās arī kautko iemācās. Piemēram no grāmatām. Viņi mācās, lai iemācītos, nevis gaida zilus brīnumus no debesīm nokrītam. |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Thu Dec 14, 2006 8:14 am Post subject: |
|
... beigsim offtopiku un atgriezīsimies pie tēmas.
Izrādās Intel VTune der tikai Intel procesoriem. Tas būtu labs jaunajam PC, ko būvēju augšā...
Taču kā tā lieta iet ap AMD pročiem? Neesmu neko dzirdējis, ka no AMD būtu tāda lietiņa.
nVidia rīkus arī nevar izmantot, jo tie (vismaz agrāk) neatbalsta OpenGL, bet tikai DirectX.
Kas tad beigās paliek? Funkciju optimizēšana ir ļoti svarīga.
Kā, piemēram tu, bubu izmēriji, ka tev ar SSE instrukcijām matricas reizinās ātrāk? _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|