so on 1920x1080@60 i also experience this kind of stuttering :( using 1920x1080@76 i get supersmooth animation within workbench window. GUI Settings as above.
@IamSONIC So its 60HZ cause this ? When you use @76, you also have 76 FPS everywhere with VSYNC ?
EDIT: my monitor seems can't deal with 76, 75 is the last one working, so tried 65, 70 : no changes. But 75 seems better. Workbench window movements are much better too. Through when i move window, i can see some tearing lines.
@Capehill What your screenmode/refresh rates you use ?
Balls of fire vertical artifact is caused by something in its snoise() function. We might be able to see it also in Shadertoy web app if we could resize it. I found an old (2016) Windows clone and reproduced the same issue using it: https://sourceforge.net/projects/shadertoyforwindows/
I think we need just another topic about that general vsync stuff, because generally i can see tearing lines when just move workbench windowses if watch close.
I also found, that i have non-working RMB menu in shadertoy with disabled compositing effects because i use SilverGreen theme, while on default theme, all works. Maybe it related to the stiky-menus options somehow, dunno. But why it made such stange difference on menu..
Can anyone check just by loading silvergreen theme and disabled compositing, if menu in shadertoy works then ?
And bug about 30 fps on RadeonRX is here for sure. For example, i just do that now:
1). disabled compoisting effects fully (and use deafult Theme , so RMB menus works for me then) 2). load "ball_of_fire" 3). Disable VSYNC and swithc to fullscreen : there i have cleary 145 FPS all the time. 4). RMB, enable VSYNC (be it WaitTOF or WaitBOVP) => 30 fps ! While should be 60 surely. On RadeonHD it give 60 when same steps repeated. 5). RMB for disable vsync => 145 fps.
If i load for example another shader, like "Cellurar" , it give me 1700 FPS in window mode, then dbl-click for fullscreen => 340 FPS (because 1920x1080). Then there enable VSYNC give stable 60 fps.
Like, it depends on shaders, the very fast ones didn't have that, but those ones which without VSYNC around 150 fps in fullscreen, give just 30 fps when VSYNC them.
Or for example "kissing donuts". Load it with disabled VSYNC , and can see it just from 61 to 75. Then enable VSYNC (even in window mode), and it give just 20 (!) fps only. While it can be 60, but ok if it were one time 57-58, can be understanded, but 20 ? Not 30 ?
Or foot_torus, it give me 75 FPS in non-vsync mode, then VSYCN it and have 20 fps.
Maybe VSYNC code in shadertoy is more or less simple, like, if all the time we 200 fps, but one time it was 29, then 20 fps will be set as maximum in vsync, or so ?
Because at very begining, every shader can be slow (in first second), so maybe FPS counter borks because of that and we need to wait second or two after start to show fps. Or at least "clear" all values after few secs.
Maybe in end of all it related to powermanagment of RadeonRX ? As if it didn't happens on RAdeonHD ..
I think we need just another topic about that general vsync stuff, because generally i can see tearing lines when just move workbench windowses if watch close.
I may be able to improve VSYNC. At least some tearing effects seem to be cured now. Problem with Shaderjoy 1.5 is that blitting is done by OGLES2 but VSYNC done by application so it looks like
Vsync(); aglSwapBuffers();
But drawing may not be finished by the aglSwapBuffers call. I could have let OGLES2 do the VSYNC but I'm now handling the bitmap myself so it should help, like:
aglSwapBuffers(); Vsync(); BlitToWindow();
Maybe glFinish would help too in the original scenario.
On OS4 in Window mode, with our stack of Software/Drivers yes. But currently i have no idea which specific component is resonsible for this. 60 Hz (even 50 Hz) in general is not responsible for any kind of stuttering.
Quote:
When you use @76, you also have 76 FPS everywhere with VSYNC ?
Yes! (Except some shaders banging the Hardware that 76 fps is not possible)
I think we need just another topic about that general vsync stuff, because generally i can see tearing lines when just move workbench windowses if watch close.
ok, also to discuss stuff related to screen refresh frequencies higher than 60 Hz.
Found one little bug already : run in window mode, load shader, dbl-click to go to fullscreen, dbl-click to go to window mode => black screen. Dbl-click back on fullscreen - works again.
But to see that all still works in window mode, you can resize window to twice bigger as it originally, and you can see that shader output just shifts down a lot.
Now about VSYCN drops to 20/30 while can be more : those issues are gone on RadeonRX. There still those small hickups every frame, but i am sure that related to just moninor/HZ settings of screens/etc.
Options "FPS Counter" hide the whole info-output in title bar : time, fps and size. So probabaly it can be renamed to "title bar info".
Also seems that fullscreen modes (any of them which creates from tooltype) creates with some oldschool way, so usuall RMB menu didn't works as before in 1.5 and previous one, but instead show some oldschool menu at top.
For example if i comment them all out (as initially it done), then it take fullscreen as workbench (which is 1920x1080 for me), and RMB menu shows fine as expected. But if i uncommented 1920x1080 in tooltypes (which by logic the same), but which seems then create fullscreen with different flags , then RMB sticky menu gone.
Just for fun tried to start version 1.6 on my Sam440, and don't start of course However it give the chance to ask for a better error checking atleast :)
Right now when can't run. it print this on shell: Quote:
Exception: Failed to create ogles2 context: 0
Maybe instead you could add a better requester telling users about the necessary hardware/software required to runs it
Also unrelated, in workbench titlebar along with program's name you may add also the release version, so to have an immediate visual check
Do you have ogles2.library installed? I'm asking because if it would have failed to open the error message would have been "Failed to open ogles2.library" rather. Context is created after library is opened.
@kas1e
Quote:
Found one little bug already : run in window mode, load shader, dbl-click to go to fullscreen, dbl-click to go to window mode => black screen. Dbl-click back on fullscreen - works again.
Well that's bloody annoying after all the testing I have done ;) Can you take the verbose log and paste it because I saw that kind of issue happening earlier but it was supposed to be fixed.
Quote:
oldschool
const ULONG id = FindScreenMode(screenWidth, screenHeight);
if (id == INVALID_ID) {
logging::Log("Try to open Workbench-like screen");
screen = IIntuition->OpenScreenTags(nullptr,
SA_LikeWorkbench, TRUE,
SA_ShowTitle, FALSE,
TAG_DONE);
} else {
logging::Log("Try to open requested screen");
Yes i have installed latest version (2.11) from the Enancher Package
About the context, when i double click on shadertoy icon i can see the program window opening, just for a fraction of second, then it print that message in shell ..
Well that's bloody annoying after all the testing I have done ;) Can you take the verbose log and paste it because I saw that kind of issue happening earlier but it was supposed to be fixed.
Sure, there is:
9/0.Work:ogles2/Shaderjoy-1.6> Shaderjoy
Selected 'shaders/shadertoy/ball_of_fire.frag'
Fragment shader file 'shaders/shadertoy/ball_of_fire.frag'
~Program, program 256
Creating shader 0x8B31, filename ''
Shader length 178 bytes
Shader source:
--8<------
...vertex shader code here ....
------>8--
Shader created
Creating shader 0x8B30, filename 'shaders/shadertoy/ball_of_fire.frag'
Shader length 1944 bytes
Shader source:
--8<------
...fragment shader code here ...
------>8--
Shader created
Found screen mode 1342378752: width 640, height 480, depth 24
Found screen mode 1342313216: width 800, height 600, depth 24
Found screen mode 1342444288: width 1024, height 768, depth 24
Found screen mode 1342247680: width 1280, height 768, depth 24
Found screen mode 1342509824: width 1920, height 1080, depth 24
Match!
Try to open requested screen
Opening 1920 x 1080 window
Bitmap size 1920 * 1080
Update bitmap pointer 0x5c519288
Context resized to 1920 * 1080. Y = 0
Opening 800 x 450 window
Context resized to 800 * 450. Y = 630
~Context
~Program, program 257
Shaderjoy exiting...
60044 bytes left on stack, used 42348
Found one little bug already : run in window mode, load shader, dbl-click to go to fullscreen, dbl-click to go to window mode => black screen. Dbl-click back on fullscreen - works again.
Switching Window -> Fullscreen -> Window ... works here with Version 1.6 as expected. Double clicking and Menu.
can this xy.8 FPS be the reason for the stuttering every second? Especially @60 Hz?
I don't seem to have any stuttering. If you disable FPS counter, is there any impact? Window or fullscreen? Which shader?
Quote:
Switching Window -> Fullscreen -> Window ... works
Same here, seems to work.
But to be on the safe side, I could remove "bitmap creation optimization" and just create bitmap again on every re-size, even when making the window smaller.
@kas1e
Do you have more detailed issue reproduction steps?
Do you have more detailed issue reproduction steps?
No, just run it, load shader, switch to fullscreen and switch back to window make whole shader like shift down. So only way to see it resize window. And even then, it didn't shown correctly, but resized. Sometime window after switch to fullscreen and back overlap borders of window by content. Will do more tests.
@Petrol Quote:
Here switch to fullscreen by double click works too, but sometimes one click is sufiscient to switch fullscreen<>window mode.
Issue on my side when swith from window to fullscreen, and then back to the window.