PDA

View Full Version : لرزش بعد از تغییر Resolution



kamalhamidi
پنج شنبه 09 مهر 1388, 12:31 عصر
سلام

بعد از اینکه انداره Resolution تغییر میکنه ، در دسکتاب لرزشی ایجاد میشه که چشم ها رو اذیت میکنه

چطور میتونم این لرزش رو از بینگ ببرم منظورم بالا بردن Hertz در بخش Screen refresh rate هست
همچنین چطور میتونم بفهمم که یک Resolution تا چقدر Hertz داره
مثلا در مانیتور خودم وقتی که Resolution رو به 1024*1280 تغییر دادم آخرین Hertz ا 60 بود


تشکر

K.Mohammadreza
شنبه 11 مهر 1388, 18:00 عصر
تابع زير همه چيز را بهت ميده



procedure ChangeDisSetting(ResX, ResY, Frequnce, BitPiexl: DWord);
var
cnt: Integer;
DevMode : TDevMode;
lDeviceMode: TDeviceMode;
FoundRsF85, FoundRsF60: Boolean;
begin
cnt := 0; FoundRsF85 := False; FoundRsF60 := False;
while EnumDisplaySettings(nil, cnt, DevMode) do
begin
with Devmode do
if(Format('%dx%d %d Colors %d', [ResX, ResY, Int64(1) shl BitPiexl, Frequnce])=
(Format('%dx%d %d Colors %d', [dmPelsWidth, dmPelsHeight, Int64(1) shl
dmBitsperPel, dmDisplayFrequency]))) then
begin
FoundRsF85 := True;
Break;
end;
Inc(cnt) ;
end;
if FoundRsF85 then
begin
if EnumDisplaySettings(nil, cnt, lDeviceMode) then
ChangeDisplaySettings(lDeviceMode, CDS_UPDATEREGISTRY) ;
SendMessage(HWND_BROADCAST, WM_DISPLAYCHANGE, SPI_SETNONCLIENTMETRICS,0) ;
end
else
begin
Frequnce := 60; cnt := 0;
while EnumDisplaySettings(nil, cnt, DevMode) do
begin
with Devmode do
if(Format('%dx%d %d Colors %d', [ResX, ResY, Int64(1) shl BitPiexl, Frequnce])=
(Format('%dx%d %d Colors %d', [dmPelsWidth, dmPelsHeight, Int64(1) shl
dmBitsperPel, dmDisplayFrequency]))) then
begin
FoundRsF60 := True;
Break;
end;
Inc(cnt) ;
end;
if FoundRsF60 then
begin
if EnumDisplaySettings(nil, cnt, lDeviceMode) then
ChangeDisplaySettings(lDeviceMode, CDS_UPDATEREGISTRY) ;
SendMessage(HWND_BROADCAST, WM_DISPLAYCHANGE, SPI_SETNONCLIENTMETRICS,0) ;
end
else
begin
MsDlg(Application.Title, 'مانيتور يا کارت گرافيک شما براي اجراي برنامه ' +
'مناسب نيست', mtError, [mbOk] , ['تائيد']);
Application.Terminate;
end;
end;
end;


کافيه هر جا که لازم داري ازش استفاده کني و. در صورتي که فرکانش مورد نظر شما پشتيباني نشه فرکانش 60 هرتز را قرار ميده مثلا



ChangeDisSetting(1024, 768, 85, 32);


اون 32 آخري هم عمق رنگ که 2 و 16 و 32 و ... مي تونه باشه

yashar666
دوشنبه 13 مهر 1388, 22:46 عصر
مانیتور و کارت گرافیکت باید رزولوشن که می خوای و فرکانس خاصی رو که می خوای ساپورت کنه

Ebrahim Asadi
چهارشنبه 22 مهر 1388, 15:23 عصر
در بعضي از مانيتورهاي قديمي LG بعد از تغيير Resolution در صفحه مانيتور لرزش شديدي ايجاد مي شود. اين موضوع مربوط به خود مانيتور است و در همه Resolution ها و فركانس هايي كه مانيتور support مي كند همين لرزش ايجاد مي شود.