-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: " " <f...@N...gazeta.pl>
Newsgroups: pl.comp.programming
Subject: Re: na 4rech procesorach
Date: Thu, 3 Nov 2011 07:23:58 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 99
Message-ID: <j8tfie$shc$1@inews.gazeta.pl>
References: <j8j452$pph$1@inews.gazeta.pl> <j8qmss$klo$1@inews.gazeta.pl>
<j8qsf3$68d$1@inews.gazeta.pl> <j8tbsr$ilc$1@inews.gazeta.pl>
NNTP-Posting-Host: localhost
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1320305038 29228 172.20.26.243 (3 Nov 2011 07:23:58 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Thu, 3 Nov 2011 07:23:58 +0000 (UTC)
X-User: fir
X-Forwarded-For: 91.94.31.252
X-Remote-IP: localhost
Xref: news-archive.icm.edu.pl pl.comp.programming:193413
[ ukryj nagłówki ]Robert Winkler <n...@n...org> napisał(a):
> > nie wiem co nazywasz pamiecia ekranu, ale ja renderuje
> > do zwyklej tablicy bajtow (konkretnie jest to wskaznik jaki
> > zwraca funkcja createDibSection, ale jest to raczej zwykla tablica
> > ramu tyle ze zaalokowana wewnetrznie przez winde, pozniej dopiero
> > to sie blituje do pamieci video);
>
> Nie podajesz źródeł więc skąd mamy wiedzieć
> że robisz to z wykorzystaniem bitmapy utworzonej poza ekranem.
> Załóz project na przykład na github i wrzuć źródła.
>
> > czy takie pisania do zwyklej tablicy (kazdy watek do swojej czesci)
> > tez trzeba synchronizowac? byloby to glupie i niedobre
>
> Jesli jestes absolutnie pewiem ze jakiś fragment bitmapy
> nie będzie znajdował się jednocześnie w cache dróch różnych rdzeni
> (procesorów)
> to nie potrzebujesz synchronizacji.
> Nie jest to jednak pewne, cache nie pracuje na poziomie pojedyńczych
komórek
> pamięci
> ale kilkunasto bajtowych linii.
> (w niektórych procesorach to nawet 512 bajtów, nie jest to jednak żaden
> procesor rodziny x86)
>
> btw.
> Skoro renderujesz to do bitmapy stworzonej poza pamięcią ekranu
> to co za problem stworzyć 4 niezależne bitmapy,
> po jednaj dla kazdego wątku.
> Każda z nich zawierała by fragment całości (1/4 wysokości)
> po zakończeniu wszystkich wątków przepisałbyś je BitBlt-em
> do jednej bitmapy, podając odpowiedno parametr Y gdzie ma być ona skpiowana.
>
> Widziałeś jak wygląda raytracing na maszynie z 80-ma równoległymi wątkami?
> (4 Xeony po 10 rdzeni każdy plus HT żeby podwoić liczbe wątków)
> http://www.youtube.com/watch?v=zbokPe4_-mY
///////
co do zrodel :
podawalem kluczowe kawalki zrodel co prawda w roznych
postach rozrzuconych na grupach (podzial kodu na pliki, jak
wyglada u mnie glowna petla, jak wygladaja same blity tez
(to akurat dawniej), jak uzywam query performance countera
do mierzenia czasu, jak ogolnie wyglada moja filozofia
agentowa, sam kawalek obliczania koloru (toporny i nieladny
co prawda) itd...) podam zreszta jeszcze na pewno inne kawalki
w miare mojego nimi zainteresowania (bo zarowno jak jestem
z czegos niezadowolony jak i zadowolony to lubie to
porozwazac i omowic w poscie);
Nie za bardzo chce podac cale zrodla gotowe do skompilowania
po prostu kliknieciem bo tak jak tomasz biskup kiedys
powiedzial: nie chce by ktos to pogarszal i przerabial na
niepodobajace mi sie sposoby (nie mowie ze moje zrodla sa
specjalnie dobre - takie sobie); Ogolnie jak ktos jest
zainteresowany to moge powiedziec jak cos robie i nawet
przekleic (nawet wypracowane) kawalki kodu ale ten ktos
niech lepiej pozniej swoj program napisze po swojemu. :}
i najlpeiej przylaczy sie do dyskusji i wniesie cos od
siebie do zagadnienia;
////////
co do meritum:
moge zrobic czetery pixelbufory i blitowac 4 razy ale
jest to mz troche nienaturalne; kawalki sa rozlaczne
wiec z normalnymi konfliktami nie powinno byc
problemu; czy ta bitmapa/pixelbufor jest alokowana do
jak wyrownanego adresu to nie wiem... sama ta bitmapa
jest wyrownana w poziomie do 4 pixeli (kazdy pixel
4 bajty) wiec o ile poczatek jest wyrownany do 16B lub
lepiej to kawalki tez sa wyrownane do 16B (jest jakis
sposob by wyrownywac to co jest alokowane przez malloc
np? pamietam z jednej ksiazki ze kriss kasperski wyrownywał
kiedys do 4096 (granicy sttrony czy cos takiego) i chyba
dawala to duze przyspieszenia; nie wiem jak z tym 'zachodzeniem
cacheow' i na czym to mialoby polegac - mz jak jeden watek
przelacza milion razy na sekunde komorke 0x11111111
a drugi 0x11111112 (nawet w tej samej lini cache) to chyba
nie powinno byc problemow z przeklamaniami - choc pewnie
moglyby byc opoznienia; Co do samego pisania do pamieci
ekranu to nie wiem czy jest to mozliwe - raczej nie;
ta pamiec nie jest zwyklym ramem (nie wiem wogole jaka nazwa
tu jest adekwatna VRAM?) i nie wiem czy mozna dostac wskaznik
do niej raczej nie - zaluje ze nie wiem jak komunikowac
sie z karta na poziomie drivera; na poziomie obslugi drivera
to jest na pewno jakies api a na poziomie wnetrza samego
drivera to nie wiem jak ta komunikacja miedzy CPU+RAM a GPU+VRAM
idzie czy przez jakis 'dzielony ram' czy przez te asemblerowe
'out'
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 04.11.11 02:32 Wiktor S.
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-08 Belka
- 2024-11-09 pierdolec na punkcie psa
- 2024-11-09 Warszawa => Sales Executive <=
- 2024-11-09 Wrocław => SAP BTP Consultant (mid/senior) <=
- 2024-11-09 Warszawa => ECM Specialist / Consultant <=
- 2024-11-09 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-10 TVN donosi: Obywatelskie zatrzymanie policjanta (nie na służbie)
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=