Ok so i'm not 100% sure this works since my computer and graphics card are too fast to make it tear but it should fix it in theory.
So can people test it in a game that they know to tear in D3D
Including the plugin in your game will automatically turn vsync on.
http://www.thethoughtradar.com/AGS/AGSD3DVSync.zip
anyone manage to test it?
Impeccable timing Calin. AGS is now asking for d3dx10_43.dll
Otherwise this plug-in will be very useful for our full-screen effects!
Cheers,
Sparky.
Just to clarify, AGS is asking for d3dx10_43.dll however I have a Direct X 11 Machine (Win 7) with the latest GeForce GFX 200 drivers installed.
Am I missing something? I'd love to test it for you Calin and I have the perfect GIP (Game In Progress) but I can't seem to launch AGS with the plugin. Am I meant to put your dll in the AGS directory and compile the game, then make a local copy of the dll to the game path?
Cheers,
Sparky.
I'm not really sure why it's asking for the DLL.. i mustve compiled it with the debug version or something.
I'll see if i can fix it.
If you are really dying to try it then you cand just download and install the DX SDK.
Yeah I considered the SDK, but I'll wait for your fix. Im patient enough...I think ;D
Thanks for sorting it out.
Sparky.
Hey Calin I look forward to this one :)
If you use any D3DX functions in your plugin, you need to distribute the D3DX DLL with it. This is why AGS doesn't use D3DX but just uses raw D3D.
Ahh, I see.
It's because I left references to ID3DXEffect in from a different project.
I can fix this easily enough.
Ok here we are.
It only has a reference to d3d9.h so it should be fine.
http://www.thethoughtradar.com/AGS/AGSVSync.zip
Hey Calin,
Dont know if Im the only one but when I place your new dll version into my AGS folder, I get "MSVCR100D.dll" is missing + error loading "agsvsync.dll"
Ok I downloaded it and placed into my sys32/syswow folders.
Can this plugin diminish your fps?
Testing now :P
I think i compiled it in debug mode.. thus it uses the debug version of the DLL.
try this one compiled for release
http://www.thethoughtradar.com/AGS/AGSVSyncR.zip
and yes Vsync can negatively impact your framerate.
Hey Calin,
I get the same issue as general_knox on my Win XP virtual machine. I'll try and update my directx drivers.
EDIT: Still no luck and this is with your re-uploaded dll.
Hey Xenogia,
I just downloaded the dll directly, and copied it into my system32 and sysWOW64 folders:
http://www.dll-download-system.com/home/m-dlls-not-system-/msvcr100.dll/details.html (http://www.dll-download-system.com/home/m-dlls-not-system-/msvcr100.dll/details.html)
knox, does it actually work?
Yep! No errors once I place that dll in those folders...
For the tearing, my game hasnt done it yet so I cant really test to see if it prevents it...but so far my framerate hasnt changed with this plugin on.
So thats something of a null result :P
If it doesnt tear with it on or off then we havent proved anything.
yeah I know...lol!
I cant test the tearing until I actually get my game advanced enough so it could actually tear (I dont have much oging on right now)...so for me I wont be able to give you any results until a good while..I just wanted to see if it did anything to the framerate by default, if that makes any sense :P
What exactly is the msvcr1000.dll for though? And will I require to put it in the package when releasing the game?
well MSVCR100D.dll is the debug version of the visual c++ library.
I compiled the it with the release settings which should mean it requires the release version (MSVCR100.dll) but i have no idea why.. the plugin is literally 2 lines of code.
Yeah for some reason Calin, the latest VSync Plugin still requires MSVCR100.dll
If you say thats unusual for two lines on code then hmmmmm. ???
Sparky.
After placing the MSVCR100.dll file in the system32 file the plugin ran fine and it eliminated the tearing in my high resolution game (which was tearing quite badly). Nice job.
Calin,
Sorry for my ignorance..
What is this plugin for?
Thanks!
Hey NSM, thanks for finally confirming whether the plugin actually *works*.
@goodohman:
Basically the plugin enables VSync for the D3D version of the engine so that the image doesnt tear when scrolling horizontally.
Vsync needs to be enabled when the graphics engine is initalised for D3D so thats why it cant be enabled in the script like the Direct Draw version. I dunno why CJ didnt set it on by default though.. the performance hit is tiny when dealing with a handfull of sprites like this.
Thank you for the answer Calin!
Calin, are you aware all your downloads are dead.
Maybe the website you use are dead or gone.
I was 100% aware of that, yes.
Most of my plugins are now no longer needed due to the engine source being open.
In that case, would you be against, if someone provided a link to this plugin?
No, feel free to provide a link if you like.
Wonderful, but it appears I haven't stored this. Anyhow, if anyone has it, I'll be glad to host it.
Hm, sorry to drag up an older thread - but does this plugin still exist somewhere in some shape or form for download, please? :)
I have the d3dvsync plugin on my hard drive.
Anyone who wants it I will be glad to send it.
Yes please: speilbergjnr at hotmail.com
thank you! :)
Seems to work a-ok, cheers Calin!
As dbuske provided me it and others may think about using it (you really should if you use DirectX mode and have scrolling backgrounds)...
Here's a public link: http://www.screen7.co.uk/junc/agsblend.rar
Instructions:
1. Put all the files in your AGS root folder (ie C:\Program Files\Adventure Game Studio 3.2.1).
2. Copy AGSBlend.dll and AGSD3DVSync.dll to your game's Compiled folder (they must be distributed with the game)
3. Open AGS and under Plugins select AGSBlend and AGSD3DVsync
Note: You may need to put some of those dll files in a system directory too, I can't quite remember. To quote Danilo, "I just copied those files everywhere and it worked." ;)
Run, compile, save etc - screen tearing will be gone!
Quote from: Mods on Sat 21/09/2013 16:31:00
Note: You may need to put some of those dll files in a system directory too, I can't quite remember. To quote Danilo, "I just copied those files everywhere and it worked." ;)
Would this mean that anyone using the finished exe also has to install dll files everywhere?
No, usually the system (Windows) will look in the working directory first, then in the usual ones like system32.
So if the dll is in the same dir as the .exe, it should work without copying it anywhere else.
No guarantees though for when people are stupid enough to play this right from inside the archive instead of extracting all files first.
Ah. Thanks for clarifying.
Any idea why this is using a "msvcr100d.dll"
I've been told that using a "debug" version of a DLL is an odd thing to do.
Because when i wrote it I didn't really know what I was doing and compiled it against the debug version of the library.
It should really be added to the engine core and shouldnt need a hacky plugin.