2D 가속 드라이버 작성 중.
일부 기능 적용 결과.
적용한 기능에 대해서 4배이상 빨라졌음.
최적화 여지는 도처에 -_-;
문제는 기존 구조가 범용 설계라 손을 대자면 손을 댈 곳이 너무 많다.
범용 구조를 유지하는 선에서 최대한 H/W 기능을 끌어내는 방향으로 고쳐보자.
Benchmarking 256x256 on 800x464 RGB16 (16bit)...
Anti-aliased Text 3.000 secs ( 52.800 KChars/sec)
[100.3%]
Anti-aliased Text (blend) 3.151 secs ( 19.422 KChars/sec)
[100.0%]
Fill Rectangle 3.057 secs (* 90.039 MPixel/sec)
[100.3%]
Fill Rectangle (blend) 3.191 secs ( 4.107 MPixel/sec)
[100.0%]
Fill Rectangles [10] 3.544 secs (* 92.460 MPixel/sec)
[100.2%]
Fill Rectangles [10] (blend) 15.876 secs ( 4.127 MPixel/sec)
[100.0%]
Fill Triangles 3.033 secs ( 22.688 MPixel/sec)
[100.3%]
Fill Triangles (blend) 3.274 secs ( 4.003 MPixel/sec)
[100.0%]
Draw Rectangle 3.039 secs ( 2.467 KRects/sec)
[100.3%]
Draw Rectangle (blend) 3.055 secs ( 1.407 KRects/sec)
[100.3%]
Draw Lines [10] 3.009 secs (* 68.128 KLines/sec)
[100.3%]
Draw Lines [10] (blend) 3.135 secs ( 6.379 KLines/sec)
[100.0%]
Fill Spans 3.015 secs (* 41.299 MPixel/sec)
[100.0%]
Fill Spans (blend) 3.228 secs ( 4.060 MPixel/sec)
[100.3%]
Blit 3.023 secs ( 45.526 MPixel/sec)
[100.3%]
Blit 180 3.271 secs ( 12.021 MPixel/sec)
[100.0%]
Blit colorkeyed 3.208 secs ( 16.343 MPixel/sec)
[100.3%]
Blit destination colorkeyed 3.754 secs ( 6.983 MPixel/sec)
[100.2%]
Blit with format conversion 3.081 secs ( 17.016 MPixel/sec)
[100.0%]
Blit with colorizing 3.676 secs ( 7.131 MPixel/sec)
[100.0%]
Blit from 32bit (blend) 5.075 secs ( 2.582 MPixel/sec)
[100.1%]
Blit from 32bit (blend) with colorizing 5.615 secs ( 2.334 MPixel/sec)
[100.0%]
Stretch Blit 3.284 secs ( 21.069 MPixel/sec)
[100.3%]
Stretch Blit colorkeyed 3.783 secs ( 13.146 MPixel/sec)
[100.0%]