IIRC, i never experienced blurriness with autostrech on Windows, and currently i can't produce any blurriness on Linux. I used that often for x2,x3,x4 scaling.
not shure if this helps
...I just tried it. To my surprise drawing on the Screen directly interpolates smoothly, whereas displaying a Sprite interpolates pixelsharp. I never realized that
resize the window to test.
Code: Select all
InitSprite()
InitKeyboard()
ww=100
wh=100
sw=ww
sh=wh
win=OpenWindow(#PB_Any, 50,100, ww,wh, "", #PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_SizeGadget)
OpenWindowedScreen(WindowID(win), 0,0, sw,sh, 1,0,0)
spr = CreateSprite(#PB_Any, 50,50, #PB_Sprite_AlphaBlending)
StartDrawing(SpriteOutput(spr))
DrawingMode(#PB_2DDrawing_Outlined | #PB_2DDrawing_AllChannels)
For i=0 To OutputWidth() Step 2
For k=0 To OutputWidth() Step 2
Box(i,k,1,1, $ff00ff00)
Next
Next
StopDrawing()
Repeat
ExamineKeyboard()
Repeat
event = WindowEvent()
Select event
Case #PB_Event_CloseWindow
quit = #True
EndSelect
Until Not event
StartDrawing(ScreenOutput())
DrawingMode(#PB_2DDrawing_Outlined | #PB_2DDrawing_AllChannels)
For i=0 To OutputWidth() Step 2
For k=0 To OutputWidth() Step 2
Box(i,k,1,1, $ff00ff00)
Next
Next
StopDrawing()
DisplaySprite(spr, 0,0)
FlipBuffers()
ClearScreen($333333)
Until quit Or KeyboardPushed(#PB_Key_Escape)
<edit>
Some ZX Spectrum stuff might have resources left to just draw on a Sprite first and display that on the screen. That might solve the Problem.