//This is the fastest you can update the whole scrn. //See ::/Demo/Lectures/MiniGrLib.HC if this interests you. F64 VGAPattern(I64 p) {//This returns the time to update in seconds. F64 start=tS; I64 plane; for (plane=1;plane<0x10;plane<<=1) { OutU8(VGAP_IDX,VGAR_MAP_MASK); OutU8(VGAP_DATA,plane); MemSetI64(text.vga_alias,p,640*480/64); } return tS-start; } U0 GrDemo() { I64 i; F64 t; CPURep; for (i=0;i<16;i++) { t=VGAPattern(0x5555555555555555); "$GREEN$Rate:$RED$%5.1f FPS$FG$" " $GREEN$Load@30Hz:$RED$%5.1f%%$FG$\n",1/t,100*t*30.0; t=VGAPattern(0x3333333333333333); "$GREEN$Rate:$RED$%5.1f FPS$FG$" " $GREEN$Load@30Hz:$RED$%5.1f%%$FG$\n",1/t,100*t*30.0; } //<CTRL-ALT-v> will flush scrn VGA cache. VGAFlush; } GrDemo;