Check this post. It has some sprite stuff in it, so it will not get the smearing issue you are having. It also has some other stuff built into it.
What I did was this:
Outside of playdate.update()
:
local gridviewSprite = gfx.sprite.new()
gridviewSprite:setCenter(0, 0)
gridviewSprite:moveTo(100, 70)
gridviewSprite:add()
And inside playdate.update()
:
local gridviewImage = gfx.image.new(200, 100)
gfx.pushContext(gridviewImage)
gridview:drawInRect(0, 0, 200, 100)
gfx.popContext()
gridviewSprite:setImage(gridviewImage)
That worked for me.