Loading...
Refresh කරාම ඇත්තටම Computer එක Speed වෙනවද? Refresh මිථ්‍යාවේ ඇත්ත නැත්ත

Computer එකේ  වැඩ කර කර ඉන්න ගමන් නිතරම වගේ අපි කරන දෙයක් තමයි සැරින් සැරේ computer එක refresh කරන එක. ඇත්තටම අපි හිතන තරම් දෙයක් නෙමේ පුරුද්දට වගේ ඉබේම කරන දෙයක්. නමුත් වැඩි දෙනෙක් නොදන්නා දෙයක් තමයි මේ විදියට computer එක refresh කරාම මොකක්ද සිද්ද වෙන්නේ කියලා එහෙමත් නැත්නම් තවත් සමහර අය හිතන් ඉන්නවා computer එක refresh කරද්දී computer එකේ තාවකාලික මතකයේ (RAM එක) clear වෙලා computer එකේ performance වැඩි වෙනවා කියලා.

නමුත් මේක වැරදි අපි computer එක refresh කියලා කොයි වෙලාවේ වත් RAM එක clear වෙන්නෙවත් performance වැඩි වෙන්නේවත් නෑ එහෙනම් ඇත්තටම මොකක්ද මෙතන සිද්ද වෙනවා ඇත්තේ. හොදයි අද අපි මේ article එකෙන් කතා කරමු මෙන්න මේ refresh option එකෙන් computer එකේ සිද්ද වෙන්නේ මොකක්ද කියලා.

මුලින්ම අපි refresh option එක ගැන කතා කරන්න කලින් අතීතයට යන්න ඔනේ. ඔයාලා දන්නවා මුල් යුගයේ computer වලට UI එකක් තිබුණේ නෑ පස්සෙ කාලේ ඉදන් තමයි මේ UI කියන එක computers වලට එකතු උනේ ඒත් එක්කම ආපු තවත් ගැටලුවක් තමයි UI එක Frames මත වැඩ කිරිම.

තවත් සරලව පැහැදිලි කරොත් මෙකෙදි වෙන්නේ UI එක render කරන library වලින් අපේ UI එකට static view එකක් හදන එක monitor එකට යවනවා ඊට පස්සෙ තව static view එකක් render කරනවා ඊට පස්සෙ ඒකත් monitor එකට යවනවා. මේ වගේ එක දිගටම මේ දේ සිද්ද වෙනවා. අපි මේ එක view එකකට කියනවා frame එකක් කියලා ඒ වගේම මේ frame draw වෙන rate එකට අපි කියනවා frame per second කියලා කෙටියෙන් අපි මේකට කියන්නේ FPS rate එක කියලා

ගොඩක් games play කරන අයනම් දන්නව මේ FPS rate එක වැඩි වෙන තරමට හොද gaming experience එකක් ලබා ගන්න පුලුවන් කියලා. මේ දේ තවත් පැහැදිලි කරන්න පුලුවන් හොදම උදාහරණයක් තමා flip book එක අපි flip book එකේ පිටු වේගයෙන් පෙරලද්දි තමයි එකේ පිටුවෙන් පිටුවට ඇදලා තියෙන නිශ්චල රූප එහෙම නැත්නම් static pictures එකට එකතු වෙලා චිත්‍රය චලනය වෙනවා වගේ පේන්නේ අන්න ඒ වගේ දෙයක් තමයි UI rendering වලදි සිද්ද වෙන්නේ මම හිතනවා ඔයාලට මේ ක්‍රියාවලිය හොදටම පැහැදිලි වෙන්න ඇති කියලා.

ඉතින් මේ විදියට මේක පැහැදිලි කරන්න ලේසි උනාට මේක හදන්න නම් developers ලට ලේසි උනේ නැ මොකද දැන් වගේ ඒ කාලේ Hardware උනත් ලොකු performance තියෙන ඒවා නෙවෙයි. මේ හේතුව නිසා developers ලා එකතු වෙලා මේ hardware සහ software optimize කරන්න එක එක විදියේ ක්‍රම නිර්මාණය කරා.

ඔයාලා දන්නවා ඔයාලගේ computer එකේ desktop එක ගත්තම උනත් එකේ කොච්චර දේවල් තියෙනවා ද කියලා; desktop wallpaper එක, icons, task bar , start menu එක මේ වගේ ගොඩක් දේවල් තියෙනවානේ. මේවට අපි කියන්නේ UI components කියලා මේ එක එක components draw වෙන්නේ වෙන වෙනම frame වලට ඒ කියන්නේ එක rendering call එකකදි screen එකේ ඔයාට පේන්න තියෙන හැම් component එකක්ම call වෙන්න ඕනේ. මේකට කියන්නේ draw call එකක් කියලා එතකොට මේ draw calls ගණන වැඩි වෙන්න වැඩි වෙන්න මේ components grow වෙන්න යන වෙලාවත් වැඩි වෙනවා. ඒත් එක්කම ඔයාගේ FPS rate එක පහළ වැටිලා animation අතර stuck වීමක් හරි mouse point එක stuck වෙලා move වෙන්නේ නැති ගැටලු මතු වෙන්න පුලුවන්. සමහර විට ඔයාටත් මේ වගේ අත්දැකීම් ඇති.

දැන් ඔයාට ප්‍රශ්නයක් ඇති වෙන්න පුලුවන් ඇයි ඉතින් මේ draw call එක එක component එකට වෙන වෙනම load වෙන්නේ කියලා. ඒකට හේතුව තමයි මේ rendering technique එක වැඩ කරන්නේ හරියටම canvas එකක් වගෙයි. ඒ කියන්නේ එක component එකකට උඩින් තමයි අනිත් component එක draw කරන්නේ මුලින්ම wallpaper එක ඒකට උඩින් desktop එකෙ icons, task bar එක වගේ draw වෙනවා. මේවා හරියට layers විදියට තමයි වැඩ කරන්නේ. දැනටමත් මේ ක්‍රමය තමයි පාවිච්චි වෙන්නේ ඔයාලගේ computer වලත්.

මේ වගේ හදපු තව optimize technique එකක් තියෙනවා, ඒකෙදි කලින් පැහැදිලි කරපු දේට වඩා තරමක් වෙනස් දෙයක් වෙන්නේ. දැනට desktop එකේ draw වෙලා තියෙන components වල වෙනසක් වෙලාද කියලා check කරලා බලලා ඒ වෙනස් උන component එක විතරක් ආපහු draw කරන එක එතකොට මේක draw වෙන්න ඔනෙද නැතිද කියලා විතරයි. එහෙම අලුතෙන් draw වෙන්න ඕන component එක හදුන්වන්නේ dirty object එකක් කියලා. එතකොට CPU එකට අවශ්‍ය වෙන්නේ dirty component එකක් විතරක් render කරලා දෙන්න විතරයි කලින් ක්‍රමේ දි වගේ ඔක්කොම components අපහු load කරන්න අවශ්‍ය වෙන්නේ නෑ.

නමුත් මේ ක්‍රමේ ටිකක් දෝෂ සහගත උනා සමහර වෙලාවට CPU එක overload උනොත් dirty object එක render වෙන්නේ නැතිව skip වෙන්න පුලුවන්. එහෙම උනොත් කිසිම වෙනසක් computer එකේ දැක ගන්න හම්බෙන්නේ නෑ. ඔන්න දැන් තමයි ප්‍රධාන මාතෘකාවට එන්නේ.

මොකක්ද මේ refresh option එකෙන් සිද්ද වෙන්නේ?

මේ  refresh option එකෙන් ඇත්තටම සිද්ද වෙන්නේ අපි ඒ වෙලාවේ වැඩ කර කර ඉන්න window එකේ තියෙන හැම component එකක්ම redraw කරන එක නමුත් දැන් තියෙන computer වල hardware, software ගොඩක් දියුණු වෙලා තියෙන නිසා අපිට මේ refresh option එක ප්‍රයෝජනයක් නැතිම තරම්. නමුත් අදටත් මේ විදියේ draw call එකක් skip වීමේ සම්භාවිතාවක් තියෙන නිසා computer වල අදටත් refresh option එක දැක ගන්න ලැබෙනවා. සරලවම වචන කිහිපයකින් කිව්වොත් මේ refresh option එකෙන් සිද්ද වෙන්නේ අපේ window එක සම්පුර්ණයෙන් redraw වෙන එක.

හොදයි මම පුංචි උදාහරණයක් අරගෙන මේ ක්‍රියාවලිය සම්පූර්ණයින්ම පැහැදිලි කරන්නම්.

මම මගේ desktop එකේ හදාගත්ත folder එකක් ඇතුලට මේ වගේ rename කරපු text file ටිකක් හදාගන්නවා ඔයාලා දන්නවා මේ file alphabetical order එකට sort වෙනවා කියලා. තව new text file එකක් හදාගෙන ඒක B කියලා rename කරනවා alphabetical order එකට අනුව මේක එන්න ඕනේ A අකුරට යටින් නමුත් ඔයාලට පේනවා ඇති මේක create කරපු ගමන් තියෙන්නේ අන්තිමට, හැබැයි මම මේක refresh කරපු ගමන් ඒක තිබුන position එක වෙනස් වෙලා හරියට alphabetical order එකට set වෙනවා.

ඊට පස්සේ D කියලා තව එකක් හැදුවොත් ඒත් එහෙමයි. මෙතන F කියලා තව file එකක් අලුතින් හදලා, refresh නොකර window එක close කරලා ආයේමත් open කරොත්, ඒත් ඒක හරිම position එකට ගිහින් තියෙනවා. ඒ කියන්නේ manually refresh නොකරත් ඒක auto ම වෙනවා. අන්න ඒකයි මම කලින් ඔයාලට කිව්වේ refresh option එකේ වැඩි ප්‍රයෝජනයක් නෑ කියලා.

හරි මම හිතනවා මෙච්චර කල් Computer එක Speed වෙනවා කියලා ඔයා හිතාගෙන හිටපු refresh option එක ගැන හරි අවබෝධයක් එන්න ඇති කියලා.

තවත් මෙවැනි ම ලිපියකින් ඉක්මනින්ම හමුවෙමු සුභ දවසක්!