Re: [AD] Color convertors |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
> This patch (hopefully) fixes the pairing problem in the MMX code.
> I can't tested the *->15 or *->24 convertors, so someone else will
> have to do the testing.
Here are the results:
K6-III 400 Mhz, MMX enabled, Matrox G200
Win95 OSR2, 800x600x16 desktop:
640x480x8 window:
SOLID results: former code new code new code
(unpaired) (paired)
putpixel() - 13924 12727 12692
hline() - 32795 31432 30945
vline() - 24546 23588 23543
line() - 509 443 461
rectfill() - 3290 2997 2946
circle() - 336 304 305
circlefill() - 604 576 569
ellipse() - 347 301 301
ellipsefill() - 602 586 577
arc() - 583 522 538
triangle() - 620 592 590
Other functions:
textout() - 2346 2118 2142
vram->vram blit() - 5647 5052 5073
aligned vram->vram blit() - 5843 5267 5259
blit() from memory - 688 610 613
aligned blit() from memory - 691 611 617
vram->vram masked_blit() - 5436 4878 4909
masked_blit() from memory - 679 605 607
draw_sprite() - 682 609 612
draw_rle_sprite() - 688 611 617
draw_compiled_sprite() - 568 612 617
draw_trans_sprite() - 679 599 605
draw_trans_rle_sprite() - 683 606 610
draw_lit_sprite() - 677 605 605
draw_lit_rle_sprite() - 686 609 614
640x480x32 window:
SOLID results: former code new code new code
(unpaired) (paired)
putpixel() - 11985 12158 12218
hline() - 30793 30617 30429
vline() - 23243 22545 22755
line() - 430 409 432
rectfill() - 2681 2728 2679
circle() - 277 274 282
circlefill() - 563 573 559
ellipse() - 279 279 284
ellipsefill() - 565 578 573
arc() - 482 489 481
triangle() - 586 586 580
Other functions:
textout() - 1944 1950 1984
vram->vram blit() - 4700 4642 4680
aligned vram->vram blit() - 4866 4850 4873
blit() from memory - 571 561 579
aligned blit() from memory - 570 564 580
vram->vram masked_blit() - 4366 4293 4319
masked_blit() from memory - 569 563 577
draw_sprite() - 559 550 561
draw_rle_sprite() - 559 556 563
draw_compiled_sprite() - 564 556 567
draw_trans_sprite() - 544 539 548
draw_trans_rle_sprite() - 552 546 552
draw_lit_sprite() - 540 537 550
draw_lit_rle_sprite() - 550 540 552
Win95 OSR2, 800x600x32 desktop:
640x480x8 window:
SOLID results: former code new code new code
(unpaired) (paired)
putpixel() - 8340 8118 8208
hline() - 26514 26084 25720
vline() - 18594 18288 18509
line() - 267 236 244
rectfill() - 1739 1575 1616
circle() - 173 159 163
circlefill() - 503 498 495
ellipse() - 170 165 167
ellipsefill() - 521 503 495
arc() - 291 291 280
triangle() - 532 523 526
Other functions:
textout() - 1259 1206 1212
vram->vram blit() - 3018 2869 2919
aligned vram->vram blit() - 3132 2989 3044
blit() from memory - 343 326 328
aligned blit() from memory - 345 327 329
vram->vram masked_blit() - 2947 2832 2844
masked_blit() from memory - 341 325 328
draw_sprite() - 343 326 328
draw_rle_sprite() - 343 326 325
draw_compiled_sprite() - 343 326 329
draw_trans_sprite() - 341 322 326
draw_trans_rle_sprite() - 343 324 328
draw_lit_sprite() - 341 326 326
draw_lit_rle_sprite() - 342 324 329
They look a little better. I'm going to further investigate this MMX
code.
---
Eric Botcazou
ebotcazou@xxxxxxxxxx