Autor: Vindex (vindex_at_friko.onet.pl)
Data: Thu 10 Sep 1998 - 20:43:29 MET DST
On Fri, 11 Sep 1998 15:59:23 +0200, "Krzysztof Goworek"
<krzys_at_enpol.gliwice.pl> wrote:
<ciach>
>>To nie sa instrukcje 3D - to SIMD. 3D jest jednym z przykladowych zastosowan
>Dlatego ujalem w cudzym slowie...
OK - obaj wiemy o co chodzi
>>
>>Probowales pisac kiedys AI? Ja nie - wiec wstrzymam sie ze skomentowaniem
>To dlaczego podajesz jako przyklad ?
Jako przyklad tego ze poza wizualizacja jest jeszcze pare innych
rzeczy w grach. Poniewaz nie wiem na ile da sie zastosowac SIMD przy
programowaniu AI to nie pisze o konkretach - niewykluczone jest jednak
ze sie da
>>tego. Poza tym pozostaje rowniez kwestia przygotowania danych do
>>wizualizacji - tu SIMD moze sie jak najbardziej przydac
>Co masz dokladnie na mysli piszac przygotowanie danych ?
Wszelkiego typu transformacje wierzcholkow, przeliczenia bryl itp. Do
tego akurat SIMD nadaje sie bardzo dobrze.
>>>Nie bez kozery instrukcje te nazwano 3D...
>>
>>To akurat okreslenie czysto reklamowe. Co do konkretow - j.w. Dane do
>>wizualizacji nie biora sie znikad - ktos musi to wszystko przeliczyc
>Ale co ? Tak ja pisalem: geometria to tez czesc API i moze byc optymalizowana
>wlasnie tam.
Nie bylbym pewien czy w calosci - zwlaszcza biorac pod uwage to ze np.
w DX'ie ma sie do wyboru albo wygode albo szybkosc. Majac pod reka
ograniczona ilosc operacji i tak musisz cos optymalizowac
>>A moze 80%? Jestes w stanie podac jakas konkretna liczbe? Bo ja nie - tyle
>>ze napewno nie jest to 99% :)
>Zart byl...
U mnie tez - przynajmniej czesciowo :)
>>A wiec jednak zgadzasz sie ze mna ze programy optymalizuje sie pod procesor?
>Siur. Chodzi o to, by nie trzeba bylo tego robic. Program nie powinien opierac sie
>o architekture procesora. I to powinny zapewniac biblioteki i kompilator.
Kompilator nigdy nie zapewni odpowiedniego poziomu optymalizacji -
chyba ze bedzie napisany pod konkretny typ aplikacji. Skoro
optymalizuje sie oprogramowanie pod konkretny procesor to widac warta
skorka wyprawki - efekty nie sa widac tak mizerne jak twierdzisz
>>> A mowa o instrukcjach 3d,
>>
>>A czymze one sa jesli nie czescia funkcji procesora?
>Nie chodzi o to. Jezeli calosc wizualizacji przeniesiemy na API, to nie bedzie co optymalizowac.
Owszem - tylko ze wtedy to API stanie sie nieoptymalne z zalozenia.
Sam wiesz ze im program wiekszy tym trudniej go dostosowac do
nietypowych zastosowan
>No, moze. Dla chcacego nie ma nic trudnego. Chodzi o to, ze jezeli program bedzie tak napisany
>i jednoczesnie API bedzie obslugiwalo (w optymalny sposob) obydwa procesory, to roznica w
>predkosci dzialania programu bedzie zalezala tylko od roznicy w predkosci procesorow.
Zakladajac ze cos takiego da sie osiagnac - w wypadku innej filozofii
dzialania zastosowanej w procesorach moze to byc bardzo trudne. A
takie API nie bedzie w tym momencie optymalne dla zadnego procesora -
bedzie _dosc_ optymalne na obu
>Chodzi o to (sedno calej sprawy), by API bylo _dobrze_ napisane. Direct3D posiada obsluge
>geometrii, ale nikt z tego nie korzysta, bo nie dosc ze zagmatwane, to jeszcze nieoptymalne.
Ano wlasnie - nieoptymalne. Trudno jest dostosowac API do wymagan
wszystkich programistow
>Wiec kazdy pisze swoje kawalki kodu, ktore sa zazwyczaj zoptymalizowane na intela.
>BTW: ciekawe ile % zysku daloby przerobienie quaka na AMD (nie K6-2). Fakt, ze ma ciankiego
>koproca, ale z drugiej strony mozna by nieco to poprawic ukladajac odpowiednio instrukcje...
Troche pewnie by dalo - ale na zadne cuda bym nie liczyl. Sam widzisz
ze optymalizacja kodu a nie API daje wieksze mozliwosci. Nie jest to
moze najwygodniejsze dla programistow ale cos za cos ...
>>J.w. Wizualizacja na czyms sie opiera
>Na czym ?
Na danych przygotowanych przez procesor - od tego przygotowania zalezy
czy program bedzie dzialal szybciej czy wolniej. Nie ma mozliwosci
zoptymalizowania tego procesu tak aby na wszystkich procesorach byl
optymalny. Cos za cos
>>
>>Jest - tyle ze i tak dziala z przerobiona wersja Quake'a. Jak myslisz -
>>czemu?
>Nie wiem. Pewnie tak go napisali...
To nie jest kwestia napisania - skoro tak jest to znaczy ze lepsze
efekty uzyskali poprzez optymalizacje kodu niz przez optymalizacje
API/sterownikow.
Pozdrowienia
Vindex
To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 17:36:02 MET DST