Slowdown with BlitSurface and UpdateRect ? Blow up your score

“Stephen Anthony” a ?crit dans le message news:
mailman.1015021204.3897.sdl at libsdl.org

I’m having a problem figuring out whats going on in the included program.
Its basically the shell of an emulator I’m working on, except there is no
work actually being done here (and it is only rough code I did in 10
minutes).

The problem is that the CPU is going at 50% - 100% doing nothing!! It
seems that the problem is linked to the command
’SDL_UpdateRect(screen,0,0,0,0)’.

Compile and run the following program and you’ll see what I mean. You
can press ‘=’ to enlarge the window and ‘Escape’ to exit.

On a Pentium3 667 and 800 (Coppermine) at work, using ATI Rage Pro
graphics cards, …

use SDL_UpdateRects(screen,1,&imageRect); your CPU will not be altered
between
different blit. Plus remember that SDL_BlitSurface(image, NULL, screen,
&rectWhereToPut); will
be needed if you want to place your image somewhere on the screen different
from 0,0 , hi !.

See the attachment. Enjoy.

Simply, Jocelyn.

begin 666 B.bmp
M0DT^$ #8$```H````C ```!8````!``@@,#$#@Q XM````````````````````@ ``@ ```("( " `( `@( ``,# P " @( ` M``#_``#_````__\`_P/`P#P____`& #!P`^#I\7&1R7%TAK```` M`.3X5@!M&/>_1S4````````//L"_#SY<`P``````````7 ,```````!8A% 9 M`````````````& #!P#$:P(`````````````````_____P```0"G%GZ$BX"? M%P````#_____``````````!@`P<`Q&L"`````@# 7& #I(02F,1K`@```!<9 MAP'G&@AP$,6Y][_T76*!> !-7P,A0%^(`$U?0 ````,```"L^%8`K/A6 M`'@`35^H]%8`!/56`#,M25^L]E8`K/96`.ST5@#C/DE?`````/CT5@!G&$!? MK/96`*SV5@`(]58`M2U)7_____\4]58`!UU 7P$```"L]E8`Y/A6`,4W25__ M____\/A6`+CL`0$XS@,!, QI``````!5;G1I=&QE9 `````$X1$!`````)\7 MXQ "8*0!^``(!@@`"`0`````````7&;A\`@!<9 Z(A7P+" M`````0@"`````*B%ETP7&0``-!ZG%@``%QG4A7Z>?Q<```$``@`````" M``(`````J(673,!<9!Y8/P.(```(`!@`3CD\`*0!^````C 8"`#0>9![. MA8VI`0`T'F0>W(7<A3RJ# 7 %QG*AGY)EQ<!`!(!```,`%@`9![WOW\! M0%_\]58`AP' OT<5][\$RU@`!,M8`#TR0%\P]E81] 7P$!P`0`````` M`"!@P``$@```DI014<@1FEL=&5R" !@`P``$@@3+6 !6,D!?
M$@DX=0%] #FD`$@````$````$RU@`!,M8`& !4 " AL]FAQ>B$1]GAQ>' M`><:``#8#)"&'@VU"8#)U";8),D#8)$ !C``````@```/@>P"2#*\# M50H+4):+I)7P$```````````````````#W!=R’OQ6
!5<#W!2+\AP$` M``````".RB6 ``````````````````````5P```````````````````````` M`````````#0``.A&<A]]7P’B?^A&0!W5Z’Z4I?603=P$- Z$8` M`%Z'5@!&AU8```````$`(( !````Z$8#$[A/WOW!#CHO>_C at 4)CW
M5@“T&0I-A8`#00@H
>
!8`-CHB at E9`%I$`````)*'.F2*"28"DNE- M3P<T`0#6Z]P6HATB,AP2*“0``/B#*BW)16D1:1/<%Y(>9$Y<$CAKF’0P,
M# P,# P,# P,# P,# P,# P,# '!04%!0</# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,!04%!04%!04,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# 4%!04%!04%!04,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# 4%!0P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P%!04%!04%!04%!04,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# 4%!04%!04,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P/!04%!04%!04%
M!04%!04/# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P%!04%!04%!04,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P%!04%
M!04%!04%!04%!0P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,!04%!04%!04%!04,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M!04%!04%!04%!04%!04%!0P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P%!04%!04%!04%!0P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P%!04%!04%!04%!04%!04%# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,!04%!04%!04%!04%!0P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# 4%!04%!04%!04%!04%!04,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P%!04%!04%!04%!04%# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,!04%!04%!04%!04%!04%!0P,# P,# P,# P,# P,
M# P,# P-#0T-# P,# P,# P,# P,# P,# P,# P,# 4%!04%!04%!04%!04,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,!04%!04%!04%!04%!04,# P,# P,# P,
M# P,# P,# P,#0T-#0T-# P,# P,# P,# P,# P,# P,# P,# 4%!04%!04%
M!04%# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# %!04%!04%!04%!04%!0,# P,
M# P,# P,# P,# P,# T-#0T-#0T-# P,# P,# P,# P,# P,# P,# P,!04%
M!04%!04%!04,# P,# P,# P,# P,# P,” T-" P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P%!04%!04%!04%!04,
M# P,# P,# P,# P,# P,# P,#0T-#0T-#0T,# P,# P,# P,# P,# P,# P,
M# P,!04%!04%!04%# P,# P,# P,# P,# P,# @-#0T-" P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P%!04%!04%
M!04%# P,# P,# P,# P,# P,# P,# P-#0T-#0T-#0P,# P,# P,# P,# P,
M# P,# P,# P,!04%!04%!0P,# P,# P,# P,# P,# P,#0T-#0T-# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P%
M!04%!04%!0P,# P,# P,# P,# P,# P,# P,# T-#0T-#0T-# P,# P,# P,
M# P,# P,# P,# P,# P,# 4%!0P,# P,# P,# P,# P,# P,# P-#0T-#0T,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# ,!04%!0P/# P,# P,# P,# P,# P,# P,# P,# T-#0T-#0P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# @-
M#0T-" P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# T-#0T,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# @-#0@,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,
2# P,# P,# P,# P,# P,# P,
`
end

begin 666 is.c
M(VEN8VQU9&4@/’-T9&EO+F@^“B-I;F-L=61E(#QS>7,O=&EM92YH/@HC:6YC
M;‘5D92 <W1D;&EB+F@^"B-I;F-L=61E(#Q31$PN:#X*“FEN=”!Q=6ET(#T@
M,#L*:6YT(’=I9’1H+”!H96EG:‘0L(&)P<“P@;75L=&EP;&EE<CL4T1,7U-U
M<F9A8V4@G-C<F5E;BP@FEM86=E.PI5:6YT,S(@9FQA9W,[#0H"FEN="!C
M<F5A=&538W)E96XH
3L
=F]I9”!H86YD;&5%=F5N=’,H3L-"@T:6YT(&%T
M=#L*"@II;G0 at 8W)E871E4V-R965N*“D*>PH@(&EN=”!W(#T@;75L=&EP;&EE
M<B J(’=I9’1H.PH@(&EN="!H(#T@;75L=&EP;&EE<B J(&AE:6=H=#L*“B @
M<V-R965N(#T at 4T1,7U-E=%9I9&5O36]D92AW+”!H+"!B<’ L(&9L86=S3L
M("!I9B@@<V-R965N(#T]($Y53$P@0H@('L(" @(&9P<FEN=&8H<W1D97)R
M+")#;W5L9&XG="!S970 at 9&ES<&QA>2!M;V1E.B E<R(@+%-$3%]‘971%<G)O
M<B at I3L(" @(’)E=‘5R;B at P3L("!]"@EA=‘0]4T1,7T=E=%1I8VMS*“D[
M"B @<F5T=7)N(#$[“GT*“G9O:60@:&%N9&QE179E;G1S*“D*>PH@(%-$3%]%
M=F5N=”!E=F5N=#L*(”!3:6YT,38@=F%L=64[“B @56EN=#@@='EP93L*(”!3
M1$Q+97D@:V5Y.PH@(%-$3$UO9”!M;V0[”@H@("\O($-H96-K(&9O<B!A;B!E
M=F5N= H@(’=H:6QE*%-$3%]0;VQL179E;G0H)F5V96YT2D("![“B @(” O
M+R!K97EB;V%R9"!E=F5N=’,(" @(&EF&5V96YT+G1Y<&4@/3T at 4T1,7TM%
M641/5TXI"B @("![“B @(” @(&ME>2 ](&5V96YT+FME>2YK97ES>6TN<WEM
M.PH@(" @("!M;V0@/2!E=F5N=“YK97DN:V5Y<WEM+FUO9#L*(” @(" @=‘EP
M92 ](&5V96YT+G1Y<&4["@H@(" @("!I9BAK97D@/3T at 4T1,2U]%4T-!4$4I
M"B @(" @(‘L*(" @(" @("!Q=6ET(#T@,3L*(" @(" @?0H@(" @("!E;’-E
M(&EF*&ME>2 ]/2!31$Q+7T5154%,4RD*(" @(" @>PH@(" @(" @(&EF*&UU
M;‘1I<&QI97(@/3T@,R I"B @(" @(" @("!M=6QT:7!L:65R(#T@,3L*(" @
M(" @("!E;’-E"B @(" @(" @("!M=6QT:7!L:65RRL["@H@(" @(" @(&-R
M96%T95-C<F5E;B at I.PH@(" @("!]“B @(”!]“B @?0I]”@II;G0@;6%I;BAI
M;G0 at 86,L(&-H87(@F%V6UTI"GL("!5:6YT,S(@9G)A;652871E.PH@(&EN
M="!O:RQS879E9#L-"@ED;W5B;&4 at 96YD:6YG/3 [#0H)("!D;W5B;&4@;G5M
M8F5R3V9&<F%M97,@/2 P.PH@("\J($EN:71I86QI>F4 at 4T1,("HO"B @:68H
M(%-$3%]);FET
%-$3%])3DE47U9)1$5/2 (# @0H@('L(" @(&9P<FEN
M=&8H<W1D97)R+")#;W5L9&XG="!I;FET:6%T92!31$PZ("5S(B L4T1,7T=E
M=$5R<F]R
"DI.PH@(" @97AI="@Q3L("!]"@H@(’=I9’1H(#T@,S(P.PH@
M(&AE:6=H=" ](#(P,#L*("!B<’ @/2 P.PH@(&UU;‘1I<&QI97(@/2 Q.PH@
M(&9L86=S(#T at 4T1,7TA74U521D%#13L*“B @:68H(&%C(#T](#$@0H@(" @
M9G)A;652871E(#T at -C [“B @96QS90H@(” @9G)A;652871E(#T at 871O:2AA
M=ELQ72D"@H@(&EF*"!F<F%M95)A=&4@/3T@," I"B @("!F<F%M95)A=&4@
M/2 V,#L*“B @:68H(”%C<F5A=&538W)E96XH2 I"B @("!E>&ET# I.PH*
M("!I;6%G92
“+F)M<”(I.PH@(&EF
”!I;6%G92 ]
M/2!.54Q,(“D*(” @9G!R:6YT9BAS=&1E<G(L(FQO860@:6UA9V4Z(“5S(B L
M4T1,7T=E=$5R<F]R*“DI.PH*(” OB!‘970@=&AE(’-T87)T:6YG(‘1I;64@
M:6X at 8V%S92!W92!N965D(‘1O(’!R:6YT(’-T871I<W1I8W,
(”!T:6UE=F%L
M(’-T87)T:6YG5&EM93L*("!G971T:6UE;V9D87DH)G-T87)T:6YG5&EM92P@
M,“D[“B @=7-E(&EN<W1E860Z#0H@(“HO#0H@(” @871T/5-$3%]'9714:6-K
M<R at I.PT*“0D*;G5M8F5R3V9&<F%M97,],#L*(”!F;W(H(#L at .R KVYU;6)E
M<D]F1G)A;65S
0H@('L-”@D@(%-$3%]296-T(&)A<CL*(” @("\O($5X:70@
M:68@=&AE(‘5S97(@=V%N=’,@=&@<75I= H@(" @:68H<75I=“D*(” @(‘L*
M(" @(" @8G)E86L[“B @(”!]"@T*“7-A=F5D/5-$3%]'9714:6-K<R at I.PH@
M(” @+R@4F5M96UB97(@=&AE(&-U<G)E;G0@=&EM92!B969O<F4@=V4@<W1A
M<G0 at 9’)A=VEN9R!T:&4 at 9G)A;64*(" @("\J=&EM979A;"!B969O<F4[“B @
M(”!G971T:6UE;V9D87DH)F)E9F]R92P@,“D[“BHO#0H)+R]D969I;F4@>6]U
M<B!296-T(&%R;W5N9”!Y;W5R(&EM86=E. at T*“2\O<'5T(&]N(#$P+&1O=VXM
M-# -”@D)8F%R+G@],3 [( T*“6)A<BYY/7-C<F5E;BT^:“TT,#L-@D-”@DO
M+W!U=”!I;B!T:&4@:6UA9V4@<VEZ93H-"@EB87(N=SUI;6%G92T^=SL-"@EB
M87(N:#UI;6%G92T^:#L*(" @("\O(&1O(’-O;64@;V9F<V-R965N(’)E;F1E
M<FEN9R H=&AI<R!U<V5S(&YE9VQI9VEB;&4 at 0U!5(‘1I;64I"B @(" O+R!T
M:&5N(‘5P9&%T92!T:&4@<V-R965N"@E31$Q?0FQI=%-U<F9A8V4H:6UA9V4L
M($Y53$PL(’-C<F5E;BP@)F)A<BD[("\O=&@<&]S:71I;VX@;VX@<V-R965N
M"B @(" OE-$3%]5<&1A=&5296-T’-C<F5E;BP@,“P@,“P@,“P@,“D[#0H)
M#0H)(”!U<V4@:6YS=&5A9#H-”@DJ+PT*“0D-”@D-”@E31$Q?57!D871E4F5C
M=’,H<V-R965N+#$L)F)A<BD[(”\O;VYL>2!T:&ES(&]N92!I<R!U<&1A=&5D
M"@H@(" @+R@8VAE8VL at 9F]R(&5V96YT<PH@(" @:&%N9&QE179E;G1S*“D[
M”@H@(" @+R@3F]W+"!W87-T92!T:6UE(&EF(’=E(&YE960@=&@<V@=&AA
M="!W92!A<F4 at 870@=&AE(&1E<VER960 at 9G)A;64@<F%T90H@(" @+R]T:6UE
M=F%L(&%F=&5R.PT*“0T*“6]K/3 [#0H)“B @(”!W:&EL92 H(6]K0H@(" @
M>PT
"0EI;G0@=V%N=&5D/2 H:6YT2 at Q,# P("@9G)A;652871E3L-”@D)
M+RH*(” @(" @9V5T=&EM96]F9&%Y*“9A9G1E<BP@,“D[”@H@(” @("!5:6YT
M,S(@9&5L=&$@/2 H56EN=#,R2 at H869T97(N='9?<V5C(“T at 8F5F;W)E+G1V
M7W-E8RD@B Q,# P,# P("L(” @(" @(" @("AA9G1E<BYT=E]U<V5C("T@
M8F5F;W)E+G1V7W5S96,I
3L*“B @(” @(&EF*&1E;'1A(#X@#$P,# P,# @
M+R!F<F%M95)A=&4I
0H@(" @("![“B @(” @(" @8G)E86L[“B @(” @(‘T*
M(" @(" @96QS90H@(" @(" @(%-$3%]$96QA>2 at Q3LJ+PH@(" @#0H)(" @
M#0H-"@DO+W1H:7,@:7,@<75I8VME<@T
"0D):68@%-$3%]'9714:6-K<R at I
M(“T@<V%V960@/B!W86YT960I(”\O#0H)"0E[#0H)"0D@(&]K/3$[#0H)"0D@
M( T
"0D)?0T*"0D)?0T*“0D)“0D*?0H@( T*(” O*@H@(&=E='1I;65O9F1A
M>2 at F96YD:6YG5&EM92P@,“D[“B @9&]U8FQE(&5X96-U=&EO;E1I;64@/2 H
M96YD:6YG5&EM92YT=E]S96, at +2!S=&%R=&EN9U1I;64N='9?<V5C2 K"B @
M(" @(" @(" H
&5N9&EN9U1I;64N=‘9?=7-E8R M(’-T87)T:6YG5&EM92YT
M=E]U<V5C2 O(#$P,# P,# N,“D[“B @9&]U8FQE(&9R86UE<U!E<E-E8V]N
M9” ](&YU;6)E<D]F1G)A;65S(”@97AE8W5T:6]N5&EM93L
(” @(” @:6X@
M<V1L(‘EO=2!W:6QL(&AA=F4 at .BHO#0H@( T*#0IE;F1I;F<]4T1,7T=E=%1I
M8VMS*"DM871T.PT*"0D)<’)I;G1F*”)E;F1I;F=4:6UE(“AM<RD@/2 E9B!W
M:71H(&9P<R E9EQN(BQE;F1I;F<L*&YU;6)E<D]F1G)A;65S+V5N9&EN9RDJ
M,3 P,“D[#0IP<FEN=&8H(FYU;6)E<D]F1G)A;65S(” ](“5F(BQN=6UB97)/
I9D9R86UE<RD[#0H*(”!31$Q?475I=”@I.PH@(’)E='5R;B at P3L?0H
end