Výsledky hlasování: ?

Hlasující
92. Nemůžete hlasovat
  • Mam core 2 duo a jsem spokojeny, i pres vynalozene penize

    31 33,70%
  • Mam core 2 duo a jsem spokojeny, ale za ty penize to nestalo

    0 0%
  • Nemam core 2 duo, ale koupim si ho

    30 32,61%
  • Nemam core 2 duo a nechci ho

    31 33,70%
Stránka 22 z 39 PrvníPrvní ... 1218192021222324252632 ... PosledníPoslední
Výsledky 526 až 550 z 959

Téma: Vyznam dual core

  1. #526
    Terorista karabínový mince Avatar uživatele PiT
    Založen
    13.09.2002
    Bydliště
    Bratislava
    Příspěvky
    4 550
    Vliv
    300

    Standardní Re: Vyznam dual core

    Ja som hlavne zvedavy, kolko FPS to prida vyslednej hre, nakolko mi z toho clanku je jasne, ze oni neurychluju to gro hry, co uz maju, ale sa snazia paralelizovat a tym urychlit veci, ktore tam pridavaju - len niektore efekty (dazd, obrazovky na scene a pod). O AI a pod. su tam iba "vzrusene" dristy, ziadne dokazy (a prave AI je jedna z veci, kde ma Valve imho velke rezervy).
    And down we go again, under the relentless wawes, into the arms of calm breakers, into bayou of forgotten dreams
    Like sand slipping through my fingers, nothing ever lasts, ever will

  2. #527
    Senior Member Avatar uživatele tomase
    Založen
    29.01.2004
    Bydliště
    Brno[work],Martin[home]
    Věk
    40
    Příspěvky
    1 982
    Vliv
    285

    Standardní Re: Vyznam dual core

    Eagle preco sa namiesto vyvracania vsetkeho nesnazis vrhnut svoju energiu a potencial na to aby si im naopak pomohol a napr. vymyslel system, ktory bude v praxi funkcny? Myslim, ze kazdeho normalneho cloveka potesi, ze niekto sa zacal zaujimat o multithreading, obzvlast firma ako Valve, ktora produkuju jedny z najhranejsich hier sucastnosti a blizkej minulosti.
    E4400 Ninja ¦ P35-DS3 ¦ 4x1GB DDR800 ¦ AMD HD6670 ¦ Crucial M4 64GB + WD6400AAKS + WD2500KS + 7200.10 250GB ¦ Enermax 420W ¦ NEC 3520A ¦ Centurion 5 + KAMABAY + AK-FC-03 ¦ MX510 ¦ UltraX ¦ Formula Vibration Feedback ¦ 223BW ¦ Creative T5900 + AKG K 530 ¦ not watercooled anymore

    "Pokud máte jiný názor než já, je to jasný důkaz, že se pletete." "když má 1000 pičmulínků jiný názor, jedná se o přímý důkaz, že pravdu mám já" "Jinak ke quadcore - dualcore mě vždy zdržoval, měl jsem už před 10 lety dualCPU, až quadcore je konečně rychlejší než já" "Podle některých je lepší Cialis, nicméně, pokud Vás baví píchat různé svěží mladé kusy zhruba 6 až 7 hodin denně (mám to místo posilovny), 3 hodiny spát, a zbytek pracovat, tak Viagra skutečně funguje lépe. Naprosto doporučuji. 25mg modré tabletky, a denní norma je splněna. Pak 15 hodin programování, nějaký ten hip-hop do Sennheiser sluchátek, a 3 hodiny zase spát." RH

  3. #528

    Standardní Re: Vyznam dual core

    Citace Původně odeslal tomase Zobrazit příspěvek
    Eagle preco sa namiesto vyvracania vsetkeho nesnazis vrhnut svoju energiu a potencial na to aby si im naopak pomohol a napr. vymyslel system, ktory bude v praxi funkcny? Myslim, ze kazdeho normalneho cloveka potesi, ze niekto sa zacal zaujimat o multithreading, obzvlast firma ako Valve, ktora produkuju jedny z najhranejsich hier sucastnosti a blizkej minulosti.
    zapominas na to, ze eagle je clovek ...
    Hrrrr, will you stop using people as human driven search engines? Google.com has all the answers you need.

  4. #529

    Standardní Re: Vyznam dual core

    Citace Původně odeslal tomase Zobrazit příspěvek
    Eagle preco sa namiesto vyvracania vsetkeho nesnazis vrhnut svoju energiu a potencial na to aby si im naopak pomohol a napr. vymyslel system, ktory bude v praxi funkcny? Myslim, ze kazdeho normalneho cloveka potesi, ze niekto sa zacal zaujimat o multithreading, obzvlast firma ako Valve, ktora produkuju jedny z najhranejsich hier sucastnosti a blizkej minulosti.
    Protože jsem ekonom a tohle mě nezajímá. Hry hraju jen staré (= ty, které měly nějakou hratelnost a nápad) a v IT by mě nikdo adekvátně nezaplatil.

  5. #530
    Senior Member
    Založen
    23.06.2003
    Bydliště
    Amstelveen
    Příspěvky
    1 061
    Vliv
    280

    Standardní Re: Vyznam dual core

    Citace Původně odeslal Eagle Zobrazit příspěvek
    Jenže v databázích s tím budeš mít úplně stejný problém. Pokud dva uživatelé otevřou ten samý záznam, následně ho modifikují a uloží, vznikne ti konflikt, popř. druhý ukládající přepíše práci prvního. A jak bys tohle chtěl u hry ošetřit?
    Tak si to precitaj este raz. Ak to mas problem pochopit. Sice sa tam pise, ze "lock-free", ale hned v tej istej citacii mas ze zamykanie sa pouziva pri zapise. Teda, lock-free to je len v tych 95% pripadoch, kedy sa cita.

    Modifikacia = zapis/prepis dat = LOCK.
    Pokial su data zamnknute, nikto iny s nimi nemoze pracovat, teda ani iny thread ich citat, alebo prepisat. Nedojde k strate integrity.

    Ak sa data nemodifikuju, tak nie su zamknute, teda ako 20 threadov naraz chce na 20 jadrach citat, tak to proste precitaju naraz a subezne, bez toho aby sa to muselo zamykat a citat jeden po druhom.

    Citace Původně odeslal Eagle Zobrazit příspěvek
    "Zjistili, že autonehoda nastává jen v 0,1 % případů jízdy autem. Proto povolili automobily bez deformačních zón a bez bezpečnostních pásů."
    Domnívám se, že jsem ti jasně řekl, co si o tobě myslím a co je podmínka další diskuze s tebou. Opět jsi projevil svůj deficit inteligence, tak si asi budeš muset hovořit sám se sebou. Ostatní mají aspoň nějakou kulturu projevu.
    Lenze oni nepovolili zapis/prepis bez zamykania.
    Ak sa ti nepacia petrikove prispevky, tak na ne nereaguj. Neviem co sa ti nepaci na petrikovej kulture prejavu, zatial som si nikde nevsimol, aby napadal teba a tvoju intelingenciu (zato ty jeho ano).

    Citace Původně odeslal PiT Zobrazit příspěvek
    Ja som hlavne zvedavy, kolko FPS to prida vyslednej hre, nakolko mi z toho clanku je jasne, ze oni neurychluju to gro hry, co uz maju, ale sa snazia paralelizovat a tym urychlit veci, ktore tam pridavaju - len niektore efekty (dazd, obrazovky na scene a pod). O AI a pod. su tam iba "vzrusene" dristy, ziadne dokazy (a prave AI je jedna z veci, kde ma Valve imho velke rezervy).
    V clanku je pekne rozobrate, ze pouzivaju rozne "druhy" threadingu a rozne pristupy. Staci sa pozriet na tie obrazky.
    Takze o co ide:
    Coarse threading: is the process of taking whole systems and putting them on to individual cores. It's a conceptually simple task to put rendering on one core, AI on another, physics on another and so on. Tom continues, "This essentially allows these systems to stay single threaded, and they only have to be multithreaded when it comes to synchronising them to a timeline thread to put them all back in order."
    Teda renering bezi na jednom jadre. Ai na inom, fyzika na dalsom. Myslim ze AI a fyzika bola celkom dobra uz v hl2, takze tymto vlastne menia uz aj gro hry.
    Fine-grain threading: takes a more intricate approach. The idea behind this method of threading is to take many similar or identical tasks and spread them across cores - for example, taking a loop that iterates over an array of data. In the case of a 1000 loop process, you just split it up by the number of cores. You need to make sure that each of the operations is independent and doesn't affect another data set - but this is tricky to do, because the time per work unit can be variable and managing the timeline of outcomes and consequences can get difficult.
    Takze do threadov rozdeluju uz aj "single threaded veci", ktore same o sebe bezia dost dlho na to, aby malo zmysel ich delit a znova spajat. Napr. cyklus, ktory sa iteruje 1000x (a v kazdom ktoru napr. modifikuje nejaky objekt) rozdelis medzi viacero jadier, kazde z nich vykona nejaku inu iteraciu z tych 1000. Ale hned sa tam aj pise, ze toto je velmi tazke dosiahnut a neda sa to vyuzit vsade, takze to maju pouzite iba tam, kde sa im to podarilo rozumne implementovat. Myslim ze toto zasahuje aj do "gra enginu".

    a nakoniec:
    Hybrid threading: is the approach that Valve eventually decided to take. It is, you'll be unsurprised to learn, a mixture of coarse and fine threading. "It's attempting to use the appropriate tool for the job in multiple combinations," according to Tom. "So, some systems operate really well just being parked on a core - an example is sound mixing. It doesn't really interact, doesn't really have a frame constraint, it works on its own set of data, and so it's really happy being pushed off."
    Teda tu sa pise, ze napr. zvuk dali do oddeleneho threadu. To myslim tiez zasahuje do gra hry. Tiez treba este brat v uvahu, kolko ludi ma SB audigy, a kolko ma integrovanu "softwareovu" zvukovku na doske - u tychto ludi je spracovanie zvuku este narocnejsie na procesor.



    a este...
    Hybrid rendering: One example is in calculating what is going to be rendered, and this relies on a critical part of the Steam engine, the 'world list'. "We first have to figure out - what are the areas of the BSP that you're going to render? Then, okay, what objects are in those portions? Up until the point that you're actually going to draw them, you're CPU bound. You have to work out all these calculations from multiple points of view - the player's view, then say, the view of TV monitors in the scene, then the point of view of reflections in water."

    "To apply a hybrid threading model, we revised the pipeline. Now, we construct the rendering list from the world list in parallel - we can calculate the TV, water and player rendering lists at the same time across cores. We can then do things like running all the character bone transforms across the cores, too."
    Nebavili sme sa tu niekolko stranok dozadu, ze rendering sa neda /sa velmi zle paralelizuje? Valve to zvladli. A teraz otazka - bude episode 2 3x drahsia (ako tu eagle tvrdi ze multithreaded vyvoj je 3x drahsi) ako episode 1? Nemyslim.

    Tiez mam nejake take tusenie, ze unreal engine 3 bude do istej miery vyuzivat mutithreading (aspon tak, aby vedel rozumne vyuzit druhe jadro)

    Citace Původně odeslal Eagle Zobrazit příspěvek
    Protože jsem ekonom a tohle mě nezajímá. Hry hraju jen staré (= ty, které měly nějakou hratelnost a nápad) a v IT by mě nikdo adekvátně nezaplatil.
    no mne to dost casto pripada ako, protože JÁ a ostatní me nezajíma.
    Naposledy upravil THX; 04.11.2006 v 13:06.
    3570K, 16G, x25-m, itx
    xj40

  6. #531

    Standardní Re: Vyznam dual core

    2 THX: Fakt mám čím dál tím víc pocit, že jsi nikdy nic neprogramoval. Poukazování na to, že zápis = zamčeno, je neskutečná hloupost. Kdyby šlo jen o čtení, tak se jedná o zcela nezávislé záležitosti, u kterých by se žádná synchronizace nemusela řešit, a tedy by nebyl potřeba žádný zámek. Takových situací ale jistě nebude mnoho. Protože kdyby bylo, tak je multithreading legrace.

    A k té reakci na PiTa - už tady kolikrát zaznělo, že AI, fyzika a rendering jsou čistě sériové záležitosti, neboť nemůžeš renderovat něco, o čem nevíš, jak se bude pohybovat. Pokud to někdo dělá nezávisle, tak to vede ke zhoršení výstupní kvality. Hodláš-li operovat se slovy typu "Valve to zvladli", tak laskavě dokaž, jak si to zvládnutí představuješ reálně provedené tak, aby to nebyla z nouze ctnost. Řeknu ti to samé co Petrikovi - pokud chceš, abychom se nadále nad tímto tématem bavili, přednes tady konkrétní programátorská řešení, jak bys to udělal. Kecy stažené z webu mě nezajímají, protože programátoři by samozřejmě nikdy veřejně nepřiznali, že jimi provedený multithreading je za cenu snížení kvality - u kodeku H.264 to taky běžně neříkají, protože to není věc, kterou by se mohli chlubit.


    Uff, mám pocit, že jedině Fox!MURDER tady ví, o co kráčí.


    PS: Samozřejmě, že mě zajímá to, co je výhodné pro mě. Co je dobré pro tebe, je mi úplně fuk. Tohle je kapitalismus, společnost preferující individualismus a vlastní užitek.

  7. #532
    Moderátor Avatar uživatele Masster
    Založen
    21.03.2003
    Bydliště
    Světlá n. S.
    Věk
    42
    Příspěvky
    7 010
    Vliv
    355

    Standardní Re: Vyznam dual core

    Citace Původně odeslal THX Zobrazit příspěvek
    Nebavili sme sa tu niekolko stranok dozadu, ze rendering sa neda /sa velmi zle paralelizuje? Valve to zvladli. A teraz otazka - bude episode 2 3x drahsia (ako tu eagle tvrdi ze multithreaded vyvoj je 3x drahsi) ako episode 1? Nemyslim.
    Episoda 2 samozrejme 3x drazsi nebude a to z jednoho prosteho duvodu.
    Valve nevyviji Source engine jen pro Episodu 2, ale pouziva ho pro x dalsich projektu a od vydani HL2 se na enginu neustale pracuje.
    But of course, the unlimited evilness of the ultimate tool of mischief, the universal explanation for sucky performance from anything other than nVidia, TWIMTBP, strikes again. The shenanigans know no bounds....luckily, in this sea of pain and anguish,the shining beacon of light and righteousness, ATi, stand, with their Get in the Game program that they managed so badly(because they`re not evil like nV, see, so they couldn`t actually have a program where they worked really close with devs, pushing their tech into their stuff) that no game is part of it. - Morgoth the Dark Enemy

  8. #533

    Standardní Re: Vyznam dual core

    Citace Původně odeslal Masster Zobrazit příspěvek
    Episoda 2 samozrejme 3x drazsi nebude a to z jednoho prosteho duvodu.
    Valve nevyviji Source engine jen pro Episodu 2, ale pouziva ho pro x dalsich projektu a od vydani HL2 se na enginu neustale pracuje.
    Ono by se ještě slušelo dodat, že enginy se prodávají dál přesně z toho důvodu, že jejich vývoj je už teď pro jediný projekt nepřijatelně drahý. Dá se tedy čekat, že počet enginů her bude s požadavkem na multithreading nadále klesat.

  9. #534
    Senior Member
    Založen
    23.06.2003
    Bydliště
    Amstelveen
    Příspěvky
    1 061
    Vliv
    280

    Standardní Re: Vyznam dual core

    Citace Původně odeslal Eagle Zobrazit příspěvek
    2 THX: Fakt mám čím dál tím víc pocit, že jsi nikdy nic neprogramoval. Poukazování na to, že zápis = zamčeno, je neskutečná hloupost. Kdyby šlo jen o čtení, tak se jedná o zcela nezávislé záležitosti, u kterých by se žádná synchronizace nemusela řešit, a tedy by nebyl potřeba žádný zámek. Takových situací ale jistě nebude mnoho. Protože kdyby bylo, tak je multithreading legrace.
    Ale ved tam ti prave ludia od valve pisu, ze takychto situacii, kedy sa len cita je 95% a zamykanie (a teda nemoznost paralelneho spracovania) nastava iba v 5% pripadov.
    A k té reakci na PiTa - už tady kolikrát zaznělo, že AI, fyzika a rendering jsou čistě sériové záležitosti, neboť nemůžeš renderovat něco, o čem nevíš, jak se bude pohybovat. Pokud to někdo dělá nezávisle, tak to vede ke zhoršení výstupní kvality.
    pozri - valve dokaze pri renderingu paralelne pocitat pohlady z roznych kamier, efekty atd. A nie nemam ti to ako dokazat, pretoze k zdrojakom sa asi v zivote nedostanem. Snad ked vyjde ta hra, tak si ju budes moct obenchmarkovat na jednom a na viacerych jadrach.
    Hodláš-li operovat se slovy typu "Valve to zvladli", tak laskavě dokaž, jak si to zvládnutí představuješ reálně provedené tak, aby to nebyla z nouze ctnost.
    ty si tu prezentoval jeden nazor (zalozeny na nespravnom pochopeni, ze locking nepouzivaju a teda u nich dochadza k strate integrity dat) a prezentujes ho ako spravny. Dokaz mi, ze to valve robi prave tak ako si napisal. Pozri si ten clanok znova - tam je dost do podrobna napisane, ako to spravili, ako a preco ktore veci paralelizovali.

    Řeknu ti to samé co Petrikovi - pokud chceš, abychom se nadále nad tímto tématem bavili, přednes tady konkrétní programátorská řešení, jak bys to udělal. Kecy stažené z webu mě nezajímají, protože programátoři by samozřejmě nikdy veřejně nepřiznali, že jimi provedený multithreading je za cenu snížení kvality - u kodeku H.264 to taky běžně neříkají, protože to není věc, kterou by se mohli chlubit.
    To mi pride ako keby sa tajilo, ze audio/video kodeky su stratovou kompresiou. Stoji ta strata kvality za to? Ano, stoji to zrychlenie enkodingu za to, ano.

    Tiez by som mohol napisat:
    Kecy nejakeho eagla stazene z webu (napr. tvoje recenzie), alebo z fora nemusia tiez kazdeho zaujimat, protože eagle by samozřejmě nikdy veřejně nepřiznal, že se mohl mylit.

    A co sa tyka dokazov - urobme to naopak. Ty mi dokaz, ze niektore veci NIE JE MOZNE multithreadovat.

    PS: Samozřejmě, že mě zajímá to, co je výhodné pro mě. Co je dobré pro tebe, je mi úplně fuk. Tohle je kapitalismus, společnost preferující individualismus a vlastní užitek.
    Mozno ta prekvapim, ale tohne neni kapitalizmus, toto je overclocker a enthusiast diskusne forum, kde tvoje prispevky citaju aj iny ludia ako ty, a niekedy niektorych nemusi zaujimat iba ze pre teba je DC na hovno, a ze v tvojich programoch to nejde dobre vyuzit a ze ty si ekonom a kapitalista atd.
    Prave diskusia (a prispevky do nej) by mala byt taka, aby citatel ziskal po precitani nove informacie (a nie iba niecie osobne nazory a postoje).
    3570K, 16G, x25-m, itx
    xj40

  10. #535
    Terorista karabínový mince Avatar uživatele PiT
    Založen
    13.09.2002
    Bydliště
    Bratislava
    Příspěvky
    4 550
    Vliv
    300

    Standardní Re: Vyznam dual core

    THX:

    Ten clanok som si cital, nemusis mi to tu prekladat. Kecy su to pekne ale jedina ukazka su tam tie videa. Pekne to tam okecavaju ale to je asi tak vsetko. Preco tam neukazali nieco realne? Ved ta hra ma vyjst o dva mesiace, gold musi byt o par tyzdnov skor...

    Ak mi niekto povie, ze AI v HL2 je dobra, tak sa len zasmejem. Kvalitu nahradzali kvantitou, vsetky tie coop postavy boli naskriptovani blbci. Q3 obdobne, v D3 vylepsene, no stale obdobne. Slusna AI je imho v UnrealTournamente.

    Fyziku mal HL2 dobru, ale tu som nespominal.

    Ako chces paralelizovat koliznu scenu? Bez lockov velmi tazko. Jedine, ze by vymysleli nejake algoritmy, ktore rychlo pred vypoctom odhadnu nejaky kluc, na zaklade ktoreho by rozdelili scenu - a to dost pochybujem, pretoze by to sice mozno v 90% pripadov bolo rychlejsie, no v 10%ach by sa to bud rozsypalo alebo to bolo vyrazne pomalsie ako na SC... Pripadne by ani zdaleka nebolo vyuzitych viac jadier.

    [edit]

    Kamerovy pohlad tej istej sceny spolahlivo neparalelizujes pokial nebude kazde jadro pocitat cast udajov 2x. (a hadaj ktoru - prave koliznu, ktora zabera drvivu vacsinu casu aj na SC)
    Naposledy upravil PiT; 04.11.2006 v 13:31.
    And down we go again, under the relentless wawes, into the arms of calm breakers, into bayou of forgotten dreams
    Like sand slipping through my fingers, nothing ever lasts, ever will

  11. #536
    Senior Member
    Založen
    23.06.2003
    Bydliště
    Amstelveen
    Příspěvky
    1 061
    Vliv
    280

    Standardní Re: Vyznam dual core

    Citace Původně odeslal PiT Zobrazit příspěvek
    THX:
    Ten clanok som si cital, nemusis mi to tu prekladat. Kecy su to pekne ale jedina ukazka su tam tie videa. Pekne to tam okecavaju ale to je asi tak vsetko. Preco tam neukazali nieco realne? Ved ta hra ma vyjst o dva mesiace, gold musi byt o par tyzdnov skor...
    Ja myslim ze nechceli ukazovat viac z hry pred vydanim. Ak su tak skoro k dokonceniu, tiez by si mohol nadavat, ze preco este nevyslo demo.
    Ak mi niekto povie, ze AI v HL2 je dobra, tak sa len zasmejem. Kvalitu nahradzali kvantitou, vsetky tie coop postavy boli naskriptovani blbci. Q3 obdobne, v D3 vylepsene, no stale obdobne. Slusna AI je imho v UnrealTournamente.
    ja len tvrdim, ze AI je v hl2 "gro hry". V q3 nejaka ai skoro vobec nebola, lebo hra bola viac multiplayerovo zamerana. Snad teraz ked bude k dispozicii vyssi vykon pre AI (vdaka paralelizacii a dalsim jadram) sa to zlepsi. Inac single player hry prave koli nizkej AI velmi nehram. Tych blbeckov z HL2 co blokuju chodby som vzdy okamzite postrielal nech nezavadzaju (teda - ak to v danom mieste dovoloval skript ich pozabijat).

    Ako chces paralelizovat koliznu scenu? Bez lockov velmi tazko. Jedine, ze by vymysleli nejake algoritmy, ktore rychlo pred vypoctom odhadnu nejaky kluc, na zaklade ktoreho by rozdelili scenu - a to dost pochybujem, pretoze by to sice mozno v 90% pripadov bolo rychlejsie, no v 10%ach by sa to bud rozsypalo alebo to bolo vyrazne pomalsie ako na SC... Pripadne by ani zdaleka nebolo vyuzitych viac jadier.
    ale ved predsa oni zamykanie pouzivaju...

    [edit]
    Kamerovy pohlad tej istej sceny spolahlivo neparalelizujes pokial nebude kazde jadro pocitat cast udajov 2x. (a hadaj ktoru - prave koliznu, ktora zabera drvivu vacsinu casu aj na SC)
    Povedal by som, ze pohlad z kamery je vec, ktora nejak velmi nemodifikuje objekty na ktore sa pozera. Prave preto si viem predstavit ze dva rozne jadra pocitaju pohlady z dvoch roznych kamier. Ak by si tie jadra nemal dva, tak single core by ti tak ci tak muselo spocitat pohlad z tej druhej kamery.
    3570K, 16G, x25-m, itx
    xj40

  12. #537
    Terorista karabínový mince Avatar uživatele PiT
    Založen
    13.09.2002
    Bydliště
    Bratislava
    Příspěvky
    4 550
    Vliv
    300

    Standardní Re: Vyznam dual core

    Citace Původně odeslal THX Zobrazit příspěvek
    Ja myslim ze nechceli ukazovat viac z hry pred vydanim. Ak su tak skoro k dokonceniu, tiez by si mohol nadavat, ze preco este nevyslo demo.
    Skor si myslim, ze je to preto, lebo tu ich dokonalu paralelizaciu poznas v novej hre len vdaka efektom ako ten dazd a ked to portujes na HL2 a EP1, tak tam bude narast podobny ako u Q4 = max 10-25%, imho skor este mensi.

    Citace Původně odeslal THX Zobrazit příspěvek
    ja len tvrdim, ze AI je v hl2 "gro hry".
    A to je imho to, co bez odrbov neparalelizujes. Odrby = naskriptovanost. Naskriptovanost != AI.

    Citace Původně odeslal THX Zobrazit příspěvek
    Snad teraz ked bude k dispozicii vyssi vykon pre AI (vdaka paralelizacii a dalsim jadram) sa to zlepsi. Inac single player hry prave koli nizkej AI velmi nehram. Tych blbeckov z HL2 co blokuju chodby som vzdy okamzite postrielal nech nezavadzaju (teda - ak to v danom mieste dovoloval skript ich pozabijat).
    jj, AI tam takmer nebola... a ta, co bola, tu imho neparalelizujes

    Citace Původně odeslal THX Zobrazit příspěvek
    ale ved predsa oni zamykanie pouzivaju...
    hej, ale prave to zamykanie ti z principu spravi z vyhody viacerych threadov nevyhodu, lebo bude vypocty predlzovat a zvysne jadra sa budu flakat. Tych 95% lock-free pripadov moze snad nastat iba v pripade, ze hovoria cisto o ich "skript-AI".

    Citace Původně odeslal THX Zobrazit příspěvek
    Povedal by som, ze pohlad z kamery je vec, ktora nejak velmi nemodifikuje objekty na ktore sa pozera. Prave preto si viem predstavit ze dva rozne jadra pocitaju pohlady z dvoch roznych kamier. Ak by si tie jadra nemal dva, tak single core by ti tak ci tak muselo spocitat pohlad z tej druhej kamery.
    Ak ma kamera ukazovat to, co sa deje na scene, tak musi pred tym nasledovat vypocet koliznej sceny, ktory ti zaberie drvivu vacsinu vypocetneho casu, a ktory imho spolahlivo neparalelizujes, nakolko by si musel pri tej paralelizacii bud urcit presne hranice objektov alebo sa Ti moze lahko stat, ze cez seba dva objekty na scene preletia. Ak to chces pocitat poctivo, tak proste 80-100% narast vykonu s dvoma a viac jadrami nedosiahnes, preto som napisal, ze su to pekne okecavacky.
    Naposledy upravil PiT; 04.11.2006 v 13:58.
    And down we go again, under the relentless wawes, into the arms of calm breakers, into bayou of forgotten dreams
    Like sand slipping through my fingers, nothing ever lasts, ever will

  13. #538
    Senior Member
    Založen
    23.06.2003
    Bydliště
    Amstelveen
    Příspěvky
    1 061
    Vliv
    280

    Standardní Re: Vyznam dual core

    No ale este moze nastat situacia, ze tie dve kamery nevidia tu istu scenu a pre tu druhu mozno teda pocitat kolizie paralelne.
    3570K, 16G, x25-m, itx
    xj40

  14. #539
    Terorista karabínový mince Avatar uživatele PiT
    Založen
    13.09.2002
    Bydliště
    Bratislava
    Příspěvky
    4 550
    Vliv
    300

    Standardní Re: Vyznam dual core

    Citace Původně odeslal THX Zobrazit příspěvek
    No ale este moze nastat situacia, ze tie dve kamery nevidia tu istu scenu a pre tu druhu mozno teda pocitat kolizie paralelne.
    ....

    Citace Původně odeslal PiT Zobrazit příspěvek
    ... ale sa snazia paralelizovat a tym urychlit veci, ktore tam pridavaju - len niektore efekty (dazd, obrazovky na scene a pod). O AI a pod. su tam iba "vzrusene" dristy, ziadne dokazy (a prave AI je jedna z veci, kde ma Valve imho velke rezervy).
    And down we go again, under the relentless wawes, into the arms of calm breakers, into bayou of forgotten dreams
    Like sand slipping through my fingers, nothing ever lasts, ever will

  15. #540

    Standardní Re: Vyznam dual core

    Citace Původně odeslal Eagle Zobrazit příspěvek
    Uff, mám pocit, že jedině Fox!MURDER tady ví, o co kráčí.
    Zas me prilis neprecenuj. S threadama mam zkusenosti jen minimalni (v C a par skriptovacich jazycich - napr. perl) a hru jsem taky zadnou nenapsal. Spis se na to snazim koukat 'selskym rozumem' a vnest do toho trochu vlastni invence.
    Zrovna ted mi vrta hlavou jak by byly realizovatelny ty transakce (hlavne transakcni izolace) na pametovy urovni.


    THX: vis ten problem s tema zamkama je trosku jinej. ono totiz nepotrebujes zamky jen pri zapisu. pokud mas scenar takovej ze mas napr. dva thready, ktery posouvaj bod po obrazovce, muze nastat nasledujici situace
    Kód:
    #include <stdio.h>
    #include <pthread.h>
    #include <stdlib.h>
    int a=0;
    int b=0;
    pthread_mutex_t mut_a = PTHREAD_MUTEX_INITIALIZER;
    pthread_mutex_t mut_b = PTHREAD_MUTEX_INITIALIZER;
    
    void *f_thread1(void *);
    void *f_thread2(void *);
    int main(void)
    {
         pthread_t thread1, thread2;
         int  iret1, iret2;
         int  i1=1,i2=2;
         iret1 = pthread_create( &thread1, NULL, f_thread1, (void*) i1 );
         iret2 = pthread_create( &thread2, NULL, f_thread2, (void*) i2 ) ;
         pthread_join( thread1, NULL);
         pthread_join( thread2, NULL);
    
         printf("a = %d\n",a);
         printf("b = %d\n",b);
         exit(0);
    }
    
    
    void *f_thread1(void *q){
     int x=0;
     for(x=0;x<65535;x++)
     {
            int temp1, temp2;
            {
    #ifdef WHOLELOCK
                    pthread_mutex_lock(&mut_a);
                    pthread_mutex_lock(&mut_b);
    #endif
                    temp1=a+1;
                    temp2=b+1;
    #ifndef WHOLELOCK
                    pthread_mutex_lock( &mut_b);
    #endif
                    b=temp2;
    #ifndef WHOLELOCK
                    pthread_mutex_unlock(&mut_b);
                    pthread_mutex_lock(&mut_a);
    #endif
                    a=temp1;
    #ifndef WHOLELOCK
                    pthread_mutex_unlock(&mut_a);
    #endif
    #ifdef WHOLELOCK
                    pthread_mutex_unlock(&mut_a);
                    pthread_mutex_unlock(&mut_b);
    #endif
            }
     }
    }
    void *f_thread2(void *q){
     int x=0;
     for(x=0;x<65535;x++)
     {
            int temp1, temp2;
            {
    #ifdef WHOLELOCK
                    pthread_mutex_lock(&mut_a);
                    pthread_mutex_lock(&mut_b);
    #endif
                    temp1=a-1;
                    temp2=b-1;
    #ifndef WHOLELOCK
                    pthread_mutex_lock( &mut_b);
    #endif
                    b=temp2;
    #ifndef WHOLELOCK
                    pthread_mutex_unlock(&mut_b);
                    pthread_mutex_lock(&mut_a);
    #endif
                    a=temp1;
    #ifndef WHOLELOCK
                    pthread_mutex_unlock(&mut_a);
    #endif
    #ifdef WHOLELOCK
                    pthread_mutex_unlock(&mut_a);
                    pthread_mutex_unlock(&mut_b);
    #endif
             }
     }
    }
    Kód:
    livecd ~ # gcc -pthread threadtest.c -DWHOLELOCK -o tt-wholelock
    livecd ~ # gcc -pthread threadtest.c -o tt-nowholelock
    livecd ~ # ./tt-nowholelock
    a = 429
    b = 702
    livecd ~ # ./tt-wholelock
    a = 0
    b = 0
    livecd ~ # ./tt-wholelock
    a = 0
    b = 0
    livecd ~ # ./tt-wholelock
    a = 0
    b = 0
    livecd ~ # ./tt-wholelock
    a = 0
    b = 0
    livecd ~ # ./tt-wholelock
    a = 0
    b = 0
    livecd ~ # ./tt-nowholelock
    a = 181
    b = 73
    livecd ~ # ./tt-nowholelock
    a = 340
    b = -61
    livecd ~ # ./tt-nowholelock
    a = -4862
    b = 333
    livecd ~ # ./tt-nowholelock
    a = 588
    b = 257
    livecd ~ #
    tj. jeden thread posouva ten bod (klidne to muze bejt v pripade 3D treba kvadr, nebo neco jinyho) o 1 doprava a o 1 nahoru, druhej posouva bod o 1 doleva a o 1 dolu. kazdej z nich to udela 65536krat. tj. bod by mel ve vysledku skoncit na miste, kde zacal (pravej dolni roh napr.) jenze, kdyz zamykam jen pri zapisu, ejhle ... ono to skonci na uplne nepredvidanym miste.


    a jeste dodam, ze to samozrejme dosti podobne kravi i na singlecore
    (testuju na C2D E6300 a CeleronuD 325, oboje Gentoo s nptl a gcc 4.1)


    kdyby nekdo mel problem s pochopenim toho C kodu, tak dejte vedet, ja to vysvetlim...

    jooo a vim ze by to asi slo napsat jednodusejs a prehlednejs, ale a) jsem prase, b) nemam cas si s tim tak moc hrat
    Naposledy upravil Fox!MURDER; 04.11.2006 v 14:23.
    Hrrrr, will you stop using people as human driven search engines? Google.com has all the answers you need.

  16. #541
    Terorista karabínový mince Avatar uživatele PiT
    Založen
    13.09.2002
    Bydliště
    Bratislava
    Příspěvky
    4 550
    Vliv
    300

    Standardní Re: Vyznam dual core

    Fox!MURDER:

    Teraz som zvedavy ako by pomohlo to optimalizovanie kompileru, ktore THX navrhoval par stran dozadu
    And down we go again, under the relentless wawes, into the arms of calm breakers, into bayou of forgotten dreams
    Like sand slipping through my fingers, nothing ever lasts, ever will

  17. #542

    Standardní Re: Vyznam dual core

    Citace Původně odeslal PiT Zobrazit příspěvek
    Fox!MURDER:

    Teraz som zvedavy ako by pomohlo to optimalizovanie kompileru, ktore THX navrhoval par stran dozadu
    no, v tomhle ohledu si pockame, s cim intel prijde treba vytahnou neco, ze nam vsem padne celist, treba ne ...
    Hrrrr, will you stop using people as human driven search engines? Google.com has all the answers you need.

  18. #543
    Senior Member
    Založen
    23.06.2003
    Bydliště
    Amstelveen
    Příspěvky
    1 061
    Vliv
    280

    Standardní Re: Vyznam dual core

    pit - ten kompiler ma optimalizovat iba rychlost, teda ma hladat v kode "paralelizovatelne" casti a tie sa snazit pustat naraz - neopravuje chyby v programe

    Fox: vsetky locky/unlocky mas v ifndef, teda ked nedas WHOLELOCK, tak nezamykas vobec - ani pri zapise. Navyse - niekedy zamykas/odomykas znova uz zamknutu/odomknutu vec (snad to nevadi, ale nemalo by sa )
    3570K, 16G, x25-m, itx
    xj40

  19. #544

    Standardní Re: Vyznam dual core

    Citace Původně odeslal THX Zobrazit příspěvek
    pit - ten kompiler ma optimalizovat iba rychlost, teda ma hladat v kode "paralelizovatelne" casti a tie sa snazit pustat naraz - neopravuje chyby v programe

    Fox: vsetky locky/unlocky mas v ifndef, teda ked nedas WHOLELOCK, tak nezamykas vobec - ani pri zapise. Navyse - niekedy zamykas/odomykas znova uz zamknutu/odomknutu vec (snad to nevadi, ale nemalo by sa )
    jsou tam ifdef a ifndef ... zcela spravne a zcela umyslne ...
    Hrrrr, will you stop using people as human driven search engines? Google.com has all the answers you need.

  20. #545
    Senior Member
    Založen
    23.06.2003
    Bydliště
    Amstelveen
    Příspěvky
    1 061
    Vliv
    280

    Standardní Re: Vyznam dual core

    Citace Původně odeslal Fox!MURDER Zobrazit příspěvek
    jsou tam ifdef a ifndef ... zcela spravne a zcela umyslne ...
    ok, to ifdef a ifndef som vsetko pokladal za ifndef

    - problem je iny - citas zamknute data
    3570K, 16G, x25-m, itx
    xj40

  21. #546

    Standardní Re: Vyznam dual core

    Citace Původně odeslal THX Zobrazit příspěvek
    ok, to ifdef a ifndef som vsetko pokladal za ifndef

    - problem je iny - citas zamknute data
    ok. tak sec, opravim to ...

    Kód:
    #include <stdio.h>
    #include <pthread.h>
    #include <stdlib.h>
    int a = 0;
    int b = 0;
    pthread_mutex_t mut_a = PTHREAD_MUTEX_INITIALIZER;
    pthread_mutex_t mut_b = PTHREAD_MUTEX_INITIALIZER;
    
    void *f_thread1 ();
    void *f_thread2 ();
    int
    main (void)
    {
      pthread_t thread1, thread2;
      int iret1, iret2;
    
      iret1 = pthread_create (&thread1, NULL, f_thread1, NULL);
      iret2 = pthread_create (&thread2, NULL, f_thread2, NULL);
      pthread_join (thread1, NULL);
      pthread_join (thread2, NULL);
    
      printf ("a = %d\n", a);
      printf ("b = %d\n", b);
      exit (0);
    }
    
    
    void *
    f_thread1 ()
    {
      int x = 0;
      for (x = 0; x < 65535; x++)
        {
          int temp1, temp2;
          {
    #ifdef WHOLELOCK
            pthread_mutex_lock (&mut_a);
            pthread_mutex_lock (&mut_b);
    #endif
    #ifndef WHOLELOCK
            pthread_mutex_lock (&mut_a);
    #endif
            temp1 = a + 1;
    #ifndef WHOLELOCK
            pthread_mutex_unlock (&mut_a);
            pthread_mutex_lock (&mut_b);
    #endif
            temp2 = b + 1;
    #ifndef WHOLELOCK
            pthread_mutex_unlock (&mut_b);
            pthread_mutex_lock (&mut_b);
    #endif
            b = temp2;
    #ifndef WHOLELOCK
            pthread_mutex_unlock (&mut_b);
            pthread_mutex_lock (&mut_a);
    #endif
            a = temp1;
    #ifndef WHOLELOCK
            pthread_mutex_unlock (&mut_a);
    #endif
    #ifdef WHOLELOCK
            pthread_mutex_unlock (&mut_a);
            pthread_mutex_unlock (&mut_b);
    #endif
          }
        }
    }
    void *
    f_thread2 ()
    {
      int x = 0;
      for (x = 0; x < 65535; x++)
        {
          int temp1, temp2;
          {
    #ifdef WHOLELOCK
              pthread_mutex_lock (&mut_a);
              pthread_mutex_lock (&mut_b);
    #endif
    #ifndef WHOLELOCK
              pthread_mutex_lock (&mut_a);
    #endif
              temp1 = a - 1;
    #ifndef WHOLELOCK
              pthread_mutex_unlock (&mut_a);
              pthread_mutex_lock (&mut_b);
    #endif
              temp2 = b - 1;
    #ifndef WHOLELOCK
              pthread_mutex_unlock (&mut_b);
              pthread_mutex_lock (&mut_b);
    #endif
              b = temp2;
    #ifndef WHOLELOCK
              pthread_mutex_unlock (&mut_b);
              pthread_mutex_lock (&mut_a);
    #endif
              a = temp1;
    #ifndef WHOLELOCK
              pthread_mutex_unlock (&mut_a);
    #endif
    #ifdef WHOLELOCK
              pthread_mutex_unlock (&mut_a);
              pthread_mutex_unlock (&mut_b);
    #endif
            }
          }
        }
    Kód:
    localhost ~ # gcc -pthread -o tt-nowholelock threadtest.c
    localhost ~ # ./tt-nowholelock
    a = 11691
    b = -538
    sice to neni presne to, co ma implementovany valve, protoze pri cteni zamykam jak pro cteni, tak pro zapis ... ale stejne ...
    Naposledy upravil Fox!MURDER; 04.11.2006 v 15:38.
    Hrrrr, will you stop using people as human driven search engines? Google.com has all the answers you need.

  22. #547
    Senior Member
    Založen
    23.06.2003
    Bydliště
    Amstelveen
    Příspěvky
    1 061
    Vliv
    280

    Standardní Re: Vyznam dual core

    lenze to je stale zle - lebo ty precitas, medzitym ti to niekto zmeni a potom zapises staru hodnotu. Ak chces data modifikovat, musis to mat zamknute cele v kuse. Naopak - ak chces data iba precitat a potom ich dalej nemodifikovat, staci ti overit, ci v momente citania ich nema niekto iny zamknute (zamykat nemusis).
    3570K, 16G, x25-m, itx
    xj40

  23. #548

    Standardní Re: Vyznam dual core

    Citace Původně odeslal THX Zobrazit příspěvek
    lenze to je stale zle - lebo ty precitas, medzitym ti to niekto zmeni a potom zapises staru hodnotu. Ak chces data modifikovat, musis to mat zamknute cele v kuse. Naopak - ak chces data iba precitat a potom ich dalej nemodifikovat, staci ti overit, ci v momente citania ich nema niekto iny zamknute (zamykat nemusis).
    jenze tomu uz se vubec neda rikat lock-free. napr. tenhle kus kodu by pak bezel stejne dobre/spatne(+nejakej drobnej overhead na ty mutexy) na dc i sc ...

    Edit: krom toho mi to fakt neprijde prilis prevratny ... v databazich se takovejhle pristup pouziva uz roky ...
    navic dalsi vec je, ze kdyz pracujes s vetsima blokama dat, nebo napr. scenama tak pri cteni stejne musis zamknout proti zapisu celou scenu, protoze kdyz jen zkontrolujes, ze neni zamceno, muze te v nasledujicim taktu preemptnout jinej thread, zamknout a zapsat. ty uz mas zkontrolovano a tudiz vpohode ctes zmeneny data....
    Naposledy upravil Fox!MURDER; 04.11.2006 v 17:14.
    Hrrrr, will you stop using people as human driven search engines? Google.com has all the answers you need.

  24. #549
    Senior Member
    Založen
    23.06.2003
    Bydliště
    Amstelveen
    Příspěvky
    1 061
    Vliv
    280

    Standardní Re: Vyznam dual core

    Citace Původně odeslal Fox!MURDER Zobrazit příspěvek
    jenze tomu uz se vubec neda rikat lock-free. napr. tenhle kus kodu by pak bezel stejne dobre/spatne(+nejakej drobnej overhead na ty mutexy) na dc i sc ...
    tak tam daj tym threadom pocitat nejaku funkciu, napr. 10x sinus alebo nieco take a skus to pustit raz so zamkami a raz bez, ze o kolko sa to bude lisit v rychlosti

    Edit: krom toho mi to fakt neprijde prilis prevratny ... v databazich se takovejhle pristup pouziva uz roky ...
    navic dalsi vec je, ze kdyz pracujes s vetsima blokama dat, nebo napr. scenama tak pri cteni stejne musis zamknout proti zapisu celou scenu, protoze kdyz jen zkontrolujes, ze neni zamceno, muze te v nasledujicim taktu preemptnout jinej thread, zamknout a zapsat. ty uz mas zkontrolovano a tudiz vpohode ctes zmeneny data....
    Kontrolu na lock a precitanie musis urobit atomicky. Alebo mozes spravit read-only lock. Teda ze sice je zamknute, ale citat moze kolko chce threadov naraz. V praxi thread, ktory chce menit data ich naprv zamkne, potom precita, potom nad nimi urobi nejaky vypocet (tento byva o dost dlhsi ako cas citania/zapisu) a nakoniec zapise vysledky. Preto "zapisovacie" locky trvaju omnoho dlhsie a teda dlhsiu dobu blokuju paralelizmus. Alebo - ak nevadi ze pocas vypoctu spracuvaju ostatne thready stare udaje, tak si na zaciatku moze data precitat aj z read-only locku a zamykat iba pri konecnom zapise.
    Naposledy upravil THX; 04.11.2006 v 17:27.
    3570K, 16G, x25-m, itx
    xj40

  25. #550

    Standardní Re: Vyznam dual core

    Citace Původně odeslal THX Zobrazit příspěvek
    tak tam daj tym threadom pocitat nejaku funkciu, napr. 10x sinus alebo nieco take a skus to pustit raz so zamkami a raz bez, ze o kolko sa to bude lisit v rychlosti


    Kontrolu na lock a precitanie musis urobit atomicky. Alebo mozes spravit read-only lock. Teda ze sice je zamknute, ale citat moze kolko chce threadov naraz.
    to bych musel vymyslet nejakou mnohem slozitejsi konstrukci a nebo to merit v us ... coz se mi fakt moc nechce ... si hraj chvili ty ...

    udelat atomicky fci, ktera nad 10MB scenou pocita napr. odlesky si dost dobre atomicky nedovedu predstavit.
    Hrrrr, will you stop using people as human driven search engines? Google.com has all the answers you need.

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 2 uživatelů. (0 registrovaných a 2 anonymních)

Podobná témata

  1. dual core notas s grafickou buducnostou
    Založil Lord Skullhead v sekci fóra Nákupní poradna
    Odpovědí: 3
    Poslední příspěvek: 10.04.2006, 17:48
  2. jak je to s tim dual channelem?
    Založil vaga v sekci fóra Intel čipové sady
    Odpovědí: 26
    Poslední příspěvek: 06.08.2005, 18:43
  3. P4 2.8GHz vykonnejsi nez dual opteron 240 na linuxu?
    Založil Petrik v sekci fóra AMD procesory
    Odpovědí: 6
    Poslední příspěvek: 20.09.2004, 07:56
  4. Ma vubec Dual chanel u AMD vyznam?
    Založil Uncle Fucker v sekci fóra NVIDIA čipové sady
    Odpovědí: 25
    Poslední příspěvek: 18.02.2003, 23:02
  5. Jake pameti pro dual channel?
    Založil Evils v sekci fóra Paměti
    Odpovědí: 6
    Poslední příspěvek: 02.02.2003, 01:22

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •