Лабораториялық жұмыс №9.

Тақырып: Видеоадаптер жұмыс режимін зерттеу

Жұмыс мақсаты: ДК видеоадатер жұмыс режимін анықтау және тестен өткізу

Қысқаша теориялық мәліметер:

Ақпаратты бейнелеу жүйесі екі негізгі компоненттерден тұрады:

Монитордан (дисплей)

Видеоадаптерден (сонымен қатар видеоплата немесе графикалық плата деп аталады)

Монитор ақпаратты бейнелейтін құрылғы және кіріс ақпаратын қайнарға қосулар талап етеді. Монитор жұмысын басқаратын сигналдар, электрондық схемалардан түседі, ол компьютер ішінде орналасқан. Компьютерлердің көпшілігінде ол үшін бөлек платалар қолданылады, жүйелік шина слотына немесе кеңейтілім шиналарына қойылады. Сондай кеңейтілім платалары, бейнелеуді басқаатын сигналдарды шығарады, видеоплата немесе видеоадаптер деп аталады.

Қабілеттілік рұқсат беруші немесе рұқсат мониторды - бұл бейненің ең аз бөлшек салыстырмалы өлшемі, монитор экранында айырып тануға болады. Видеожүйенің басқа маңызды параметрі - бір уақытта бейнелетенетін түстердің және жарық дамуларының саны. Видеожүйе бейнелейтін түстердің жиыны - палитра деп аталады.

Соңғы уақытта видеоадаптерлердің өндірісіне көп күші жұмсайды, бұл берілгендер көлемінің үлкейуімен және бейнедегі түстерді жіберу анықтығының жоғары мүмкіндігімен байланысты, қазіргі бағдарламаларды сипаттайды, жүйе өндірісінің жоғарлауы, оның .үш компонентіне сәйкес келеді:

Гpaфикалық пpoцeccop;

Видeoaдaптep шинасы;

Шина.

Гpaфикалық npoцeccoр

Жұмыс мазмұны.

ДК видеоадаптер жұмысын мәтіндік режимге мәтінді енгізуде тестен өткізу.

ДК видеоадаптер жұмысын графикалық режимге мәтінді енгізуде тестен өткізу.

Процедура жазу және графикалық объектілердің шығаруы (сызықтар, төртбұрыштар, элиппстер және т.б.) көмегімен графикалықтарды режимде тестен өткізу.

Нәтижелерді кесте түрінде шығару.

Аналитикалық қорытынды шығару.

Есептеу нәтижесі:

Тақырып және жұмыс мақсаты.

ДК конфигурациясының кестесі және бағдарламалардың жұмыс нәтижесі.

Бағдарлама листингісі .

Аналитикалық қорытындылар.

Қосымша 1

Видеоадаптер режимін тестілеу мысалы.

program Video_Test;

uses Dos, Crt, Graph;

var Test_File: text;

const Max_Time_Test=200; { Режимді тестілеу уақыты 2 секунды }

Function Get_RealTime: longint;

var Hours, Minutes, Seconds, MiliSeconds: word; x: longint;

begin

GetTime(Hours, Minutes, Seconds, MiliSeconds);

x:=Hours; x:=x*60+Minutes; x:=x*60+Seconds;

x:=x*100+MiliSeconds;

Get_RealTime:=x;

end;

procedure TextModeTest;

var

i, c: byte;

Ct: longint;

OldRegim: word;

TextAttrOld: byte;

t1,t2: longint;

const

Regim: array[1..5] of integer=(BW40,CO40,BW80,CO80,MONO);

Name_Regim: array[1..5] of string[4]=('BW40','CO40','BW80','CO80','MONO');

begin

OldRegim:=LastMode; TextAttrOld:=TextAttr;

for i:=1 to 5 do

begin

TextMode(Regim[i]);

Writeln(Test_File,'Мәтіндік режим ',Name_Regim[i]);

for CheckSnow:=False to true do

for DirectVideo:=false to true do

begin

c:=32; Ct:=0; TextAttr:=0;

t1:=Get_RealTime;

repeat

write(Char(c)); Inc(Ct);

inc(c); if c=255 then begin c:=32; inc(TextAttr); end;

if TextAttr=255 then TextAttr:=0;

until Get_RealTime-t1>=Max_Time_Test;

t2:=Get_RealTime;

Write(Test_File,' – тура рұқсат');

if DirectVideo

then Write(Test_File,'қосу ')

else Write(Test_File,'сөндіру');

Write(Test_File,'/ сәуленің кері жүруін бақылау');

if CheckSnow

then Writeln(Test_File,'қосу ')

else Writeln(Test_File,'сөндіру');

Writeln(Test_File,' өту қабілеті: ',Ct/((t2-t1)/100):7:1,

' байт/сек');

end;

end;

TextMode(OldRegim); TextAttr:=TextAttrOld;

end; { TextModeTest }

procedure GraphModeTest;

var

x,y: integer;

c: byte;

Color,BkColor: byte;

Ct: longint;

t1,t2: longint;

GraphDriver,

GraphMode: Integer;

begin

GraphDriver:=Detect;

InitGraph(GraphDriver,GraphMode,'.');

for GraphMode:=0 to 255 do

begin

SetGraphMode(GraphMode);

if GraphResult=GrOk then

begin

Write(Test_File,'Графикалық режим ',GetMaxX+1,'x',GetMaxY+1);

x:=0; y:=0; Ct:=0;

Color:=1; SetColor(Color);

BkColor:=0; SetBkColor(BkColor);

t1:=Get_RealTime;

repeat

OutTextXY(x,y,Char(c)); Inc(Ct);

inc(c); if c=255 then c:=32;

inc(x,TextHeight(Char(c)));

if x>GetMaxX then

begin

x:=0; inc(y,TextWidth(Char(c))+2);

if y>GetMaxY then y:=0;

inc(Color);

if Color>GetMaxColor then

begin

Color:=0;

inc(BkColor);

if BkColor>GetMaxColor then BkColor:=0;

SetBkColor(BkColor);

end;

SetColor(Color);

end;

until Get_RealTime-t1>=Max_Time_Test;

t2:=Get_RealTime;

Writeln(Test_File,' - өту қабілеті: ',Ct/((t2-t1)/100):7:1,

' байт/сек');

end;

end;

CloseGraph;

end; {GraphModeTest}

begin

Assign(Test_File,'Test.txt'); rewrite(Test_File);

Writeln(Test_File,' Видеожүйенің тестілеу есеп файлы');

TextModeTest;

GraphModeTest;

Writeln(Test_File,'Тестілеу аяқталды');

close(Test_File);

end.

Әдебиет: 5, бет. 12-45; 6, бет. 15- 58

Бақылау сұрақтар

1. Монитор деген не?

2. Қабілеттілік рұқсат беруші деген не?

3. Түйіршіктілік ұғымы?

4. Развертка режимі?

5. Графикалық процессорлардың типтері?

6. Видеожад?

7. Видеоадаптердің жылдам әрекеті немене анықталады?