small stuff

This commit is contained in:
Ryan Oldenburg 2021-06-25 16:54:32 -05:00
parent 4e5b2cd91e
commit 9e132b6457
3 changed files with 20 additions and 8 deletions

View file

@ -1,7 +1,7 @@
import benchy, cairo, chroma, math, pixie
block:
var
let
surface = imageSurfaceCreate(FORMAT_ARGB32, 1920, 1080)
ctx = surface.create()
@ -19,7 +19,7 @@ block:
# discard surface.writeToPng("cairo1.png")
var a = newImage(1920, 1080)
let a = newImage(1920, 1080)
a.fill(rgba(255, 255, 255, 255))
timeIt "pixie1":
@ -34,7 +34,7 @@ block:
# a.writeFile("pixie1.png")
block:
var
let
surface = imageSurfaceCreate(FORMAT_ARGB32, 1920, 1080)
ctx = surface.create()
@ -52,7 +52,7 @@ block:
# discard surface.writeToPng("cairo2.png")
var a = newImage(1920, 1080)
let a = newImage(1920, 1080)
a.fill(rgba(255, 255, 255, 255))
timeIt "pixie2":

View file

@ -709,7 +709,7 @@ proc drawUber(a, b: Image | Mask, mat = mat3(), blendMode = bmNormal) =
else:
var x = xMin
when defined(amd64) and not defined(pixieNoSimd):
if dx.x == 1 and dx.y == 0 and dy.x == 0 and dy.y == 1:
if dx == vec2(1, 0) and dy == vec2(0, 1):
# Check we are not rotated before using SIMD blends
when type(a) is Image:
if blendMode.hasSimdBlender():
@ -732,7 +732,6 @@ proc drawUber(a, b: Image | Mask, mat = mat3(), blendMode = bmNormal) =
blenderSimd(backdrop, source)
)
x += 4
else: # is a Mask
if blendMode.hasSimdMasker():
let maskerSimd = blendMode.maskerSimd()

View file

@ -1,7 +1,9 @@
import benchy, nimPNG, pixie/fileformats/png, stb_image/read as stbi,
import benchy, cairo, nimPNG, pixie/fileformats/png, stb_image/read as stbi,
stb_image/write as stbr
let data = readFile("tests/images/png/lenna.png")
let
filePath = "tests/images/png/lenna.png"
data = readFile(filePath)
timeIt "pixie decode":
keep decodePng(cast[seq[uint8]](data))
@ -37,3 +39,14 @@ timeIt "stb_image encode":
stbi.RGBA
)
keep writePNG(width, height, channels, decoded).len
timeIt "cairo decode":
keep imageSurfaceCreateFromPng(filePath)
timeIt "cairo encode":
let decoded = imageSurfaceCreateFromPng(filePath)
var write: WriteFunc = proc(closure: pointer, data: cstring, len: int32): Status {.cdecl.} =
StatusSuccess
discard decoded.writeToPng(write, nil)