RayeR ma v tomto naprostou pravdu. Mnohdy to neni o mnozstvi nebo kvalite programatoru, ale o navrhu algoritmu, zavisloti operace B na vysledku operace A, cekani na dokonceni nebo nemoznost paralelizovat vubec, protoze jde o mnozstvi malych operaci se vzajemnou zavislosti A->B->C atd...

Dalsim velkym problemem je mnozstvi chyb, ktere sebou prinasi komplexni vice-vlaknovy navrh. Ten sice muzes castecne eliminovat vetsim mnozstvim programatoru s uzsim zamerenim, ale ten narust neni linearni. Jinymy slovy to exponencialne zvysuje naklady na vyvoj. Nastesti se uz objevuji nastroje pro automatizovany navrh a analyzu multivlaknovych aplikaci.

Mno a jeste si dovolim malou poznamku ohledne her, ktere mi jsou programovanim nejbliz. Ty jsou totiz z pohledu vice-vlaknoveho navrhu spise povazovany za hybridni systemy. Pod tim se skryva jednoducha myslenka. Herni engine je velky kolos, skladajici se z mnoha modulu jako render, animace, AI, fyzika, navigace, zvuk atd... Aby se predeslo prilisne komplexnosti, synchronizuji se pouze moduly mezi sebou, pricemz kazdy modul uz je vice/mene jednovlaknovy. Odtud pak plynou problemy her s FPS. Hra totiz pobezi tak pomalu, jak pomaly je nejpomalejsi modul. Coz jsou z 90% render thread(y) a fyzika. Tj. ve hre muzete mit celkove vyuziti CPU jen 30% a presto bude CPU-bound.

Skoda ze si lidi neuvedomuji jak komplexnim systemem dnesni hry jsou. V podstate bych si dovolil tvrdit, ze prevazna vetsina stolnich PC nikdy v zivote neuvidi nic komplexnejsiho, nez je herni engine.

Ted kdyz to vidim, sry za OT, nedalo mi to