Blitz3d fullscreen only 30 hz on Windows 8

Archives Forums/Blitz3D Bug Reports/Blitz3d fullscreen only 30 hz on Windows 8

Wings(Posted 2013) [#1]
Blitz 3d fullscreen get only 30hz on windows 8 direct X11
i wish it to be 60hz.
Also command "flip false" is broken still 30 fps in fullscreen.

Example Fullscreen mode
Flip false = 30 fps
Flip true = 30 fps
Example window mode
A Flip false = 10700 fps
B Flip true = 340 fps
C Delay 5
Flip true = 60 hz



A thread about it here
http://www.blitzbasic.com/Community/posts.php?topic=99477
I have run blitz3d on 5 diferent pc. they all fails to look at 60fps.
this makes older blitz3d games run verry slow.
(My workaround is to tuse blitz max and to use blitz3d in window mode Solution C)

######### PC 1 #####################################
Model: HP 600B (THIS IS A 320$ pc)
Intel(R) Pentium(R) CPU G640T @2.240GHz (64-Bit)
4 GB ram
OS Windows 8 Pro with Media Center (6.2, Build 9200)
Graphics Intel(R) HD Graphics Version 9.17.10.2828 (2012-07-31) 1664mb
Driver model WDDM 1.2
Screen Driver "Ordinary PnP-Screen"
DirectX 11
DirectDraw Yes
Direct3d Yes
AGP Yes
#####################################################

######### PC 2 ######################################
Windows 8
Intel(R) Core(TM i5-3570K CPU @ 3.40GHz (64-Bit)
Graphics NVIDIA GeForce GTX 660 (3 Gb ram) Version 9.18.13.249 (2013-06-21)
RAM 4 GB
####################################################


yaragad(Posted 2013) [#2]
I have tryed all examples until now. The result is always a NOT smooth 33FPS on full screen. Dont care about FPS number, I settle with a Smooth 30FPS full screen solution (not smooth even with a FPS limit of 30). Windowed mode with FPS to 30 runs smooth.

*** PC ***
8 GB 1600 MHz DDR3L SDRAM
AMD Radeon(TM) HD 7650M 2GB with latest drivers
Intel CoreTM i7-3632QM,2,2GHz
Windows 8 64bit
DirectX 11


Wings(Posted 2013) [#3]
I found a sneaky workaround. its to remove flip command.
instead use copt rect backbuffer() to front buffer.

example.
CopyRect 0,0,800,600,0,0,BackBuffer(),FrontBuffer()


yaragad(Posted 2013) [#4]
Why is this example working so good? :) Is this a temporally solucion JFK?
Windowed mode doesn't work with this (10FPS and all objects blinking), so if this is a solution we can use a simple If Else.

I prefer an understandable solution... but for now, if we have the JFK blessing, should be enought, isn't it?

P.D.: I have tryed SMK (executable version). Dont know how it works. I have just imported an mp3 file, create a dummy block, move it, move start and end and play the song. It works ok (fraps tells about 450 FPSs). Just a Warning on start up of less of 50MB found. I have tryed importing some avi files, after processing it tell me "crap: not found"


skidracer(Posted 2013) [#5]
Have you tried using exactly same resolution and bit depth for your full screen mode as your desktop?

Do you get same screen resolutions reported multiple times when listing graphics modes available?


GaryV(Posted 2013) [#6]
Have you tried using exactly same resolution and bit depth for your full screen mode as your desktop?


Since others are rudely ignoring you, in the other thread the issue IS being reported at full screen resolutions that would appear to correspond with the desktop resolutions:

http://blitzbasic.co.nz/Community/post.php?topic=99477&post=1193162
http://blitzbasic.co.nz/Community/post.php?topic=99477&post=1193229


SLotman(Posted 2013) [#7]
Resolution doesn't change anything :(

Edit:Just tried generating an exe, forcing it to be executed both in a "low power mode" (as in, running on the Intel card) and in "high performance mode" (running on Radeon) - in both the results were the same: 35 fps fullscreen.

Marking the "exe" to run in compatibility mode (both as windows XP or Windows 98) changed nothing.


skidracer(Posted 2013) [#8]
I had a google... popular games like World of Tanks seem to be struggling with this issue also. There was one suggestion to run as Administrator which sounded nuts.

It reminds me of driver issues early on in DirectX7 history, where if the BIOS had vidcard interrupts disabled fullscreen flipping was a disaster.

Also Blitz3D use to need a GrabImage cludge to work around video cards that would render multiple frames ahead much to the detriment of mouse input latency. I will ask Mark, cos if that ever got added to Blitz itself then I suspect that could be one for the chop.

According to versions.txt that may have been version 1.54 so perhaps some tests with 1.53 may be in order.


SLotman(Posted 2013) [#9]
Just replicating what I posted in the other thread: I tested on another win-8 machine, with nvidia graphics, and the problem is the same: only 33/35 fps on fullscreen.


GaryV(Posted 2013) [#10]
I posted a test file in the other thread for those having the issue.


skidracer(Posted 2013) [#11]
I'm getting same results on a Samsung 700T, both Graphics and Graphics3D are setting the fullscreen to a 30hz video mode.

[edit]

It's a good thing BlitzMax defaults to DirectX9 as

SetGraphicsDriver D3D7Max2DDriver()

also causes the problem in BlitzMax.

[edit]

Heh, and then google points me here.


GaryV(Posted 2013) [#12]
Heh, and then google points me here.


Sadly, although installing DirectX 9 fixed most issues under Vista and 7, for 8, it looks like MS has finally pulled the lifeline on full backwards compatibility for DX. :( In the other thread, somebody installed the last version of DirectX 9 and it did nothing to resolve the issue.


*edit*

It's a good thing BlitzMax defaults to DirectX9 as


Given that DX9 came out in 2002 and is extremely old, I would not be surprised if the next major version of Windows had serious issues with DX9.


Imperium(Posted 2013) [#13]
I don't have Windows 8 so I can't test this but someone should try the original AVP2 because that is a DX7 game. I wonder if it will suffer the same performance issues.

AVP2 uses the d3dim700.dll (DirectX7)

I really hope this eventually gets fixed although its no fault of Blitz.


GaryV(Posted 2013) [#14]
AVP2 uses the d3dim700.dll (DirectX7)


That could be different as it uses immediate mode. Blitz 3D uses retained mode (IIRC).


Imperium(Posted 2013) [#15]
How did you find that out GaryV? Do you have knowledge of the inner workings of the Lithech engines?


GaryV(Posted 2013) [#16]
How did you find that out GaryV? Do you have knowledge of the inner workings of the Lithech engines?


You told me. I am going purely by the info you provided. If the info you posted is incorrect, please correct it.

The "im" in the file name you provided refers to immediate mode:

d3dim700.dll/d3dim.dll = Immediate Mode
d3drm.dll = Retained Mode

There is enough difference between immediate mode and retained mode that anything using D3D7 Immediate Mode might still work on Windows 8. However, it is more likely that it will not work either.


Imperium(Posted 2013) [#17]
Wow I totally missed the obvious on that one. Once a day its okay to feel dumb. :)
I don't know anyone in my immediate location who has a Windows 8 machine otherwise I would test AVP2 out myself.


JohnT(Posted 2013) [#18]
How about this....

Clearly there are still very many users of Blitz3D and many potential new users. I am one of the latter, I tried Blitz3D and BlitzMax trials and found B3D easier for my needs but am unwilling to buy as I have seen no evidence of support or updates from Blitz.

Now, given that there is a current large user base and a potential to increase its size, why can't Blitz update B3D to use DirectX 9 or later? The 30fps issue would be resolved and more interest for B3D would be generated as it is an easy to learn language with many good features.

EDIT: I would be willing to pay the same price as BlitzMax for a new updated version of Blitz3D that uses DirectX9/10/11


xlsior(Posted 2013) [#19]
How about this....


That has come up literally dozens of times over the past half a decade on this forum. Notice the distinct lack of such an update.

Don't hold your breath.


GfK(Posted 2013) [#20]
EDIT: I would be willing to pay the same price as BlitzMax for a new updated version of Blitz3D that uses DirectX9/10/11
So why wouldn't you just get Blitzmax and MiniB3D, or Monkey and MiniB3D?


JohnT(Posted 2013) [#21]
Gfk:So why wouldn't you just get Blitzmax and MiniB3D, or Monkey and MiniB3D?


First of all, BlitzMax is 2D based from the core and requires added 3rd party support for DirectX. Yes it uses OpenGL which can do 3D but it is rather technical, limited 3D support and not really beginner friendly!
MiniB3D is, as stated by the creator, not 100% Blitz3D compatible and requires changes to get older Blitz3D programs to work. Not MiniB3D's fault, a problem with how BlitzMax does things. Sure it's a good attempt to get Blitz3D functionality in to BlitzMax, best I have seen, but it's a 3rd party add-on which could run into compatibility problems on possible future BlitzMax updates.
As for Monkey, I don't have any desire to make my intended project run on iOS, Xbox 360, etc. It's not suitable for mobile deployment!

xlsior: That has come up literally dozens of times over the past half a decade on this forum. Notice the distinct lack of such an update.


I too have seen this topic many times and I have noticed the lack of an update. The many times it has come up and how hotly those topics are discussed just shows there is a high demand for such an update.

The excuse for not updating B3D to DirectX 9/10/11 is that Blitz3D is essentially DirectX 7, I.E. the 3D commands directly match the DirectX 7 API equivalents. Why does that stop an update? It does not, the code can be modified to make those commands work in the newer versions of DirectX without too many problems. Then there would be the opportunity to add a set of more advanced commands to do more in the newer DirectX versions. There really is no excuse for not updating Blitz3D other than that they wanted to concentrate on the production of BlitzMax which is multi-platform (and it's good for that reason) so OpenGL was chosen over DirectX and only as an included plug-in module with limited support for 3D. And now they have released Monkey (come on, give it a serious name at least if you want developers to take it more seriously!!) for jumping on the mobile and console bandwagon!

These are not views from an inexperienced user, I used to be a full time programmer using the C/C++ language. Life changes forced me to take a long break from C/C++ so I fell behind on my current knowledge for writing in C/C++ and C## for the Windows platform. I have Dark Basic Pro and I find the complexity of Dark Basic hard to get used to. It is also inconsistent with the plug-in modules. For example, I had an Nvidia GTX 420 graphics card (now have a GTX 660Ti) which has PhysX. The demos for the PhysX Module for Dark Basic worked fine until I compiled them myself, without any code changes, where they then complained that I do not have PhysX in my system! So I am weary of plug-in modules even for BlitzMax and I would rather have native DirectX 9/10/11 support in an updated Blitz3D than rely on a plug-in module for BlitzMax.

Blitz are missing out on a profit making opportunity by not upgrading Blitz3D, there is a high enough demand for it to justify the time making it, it is technically possible, just requires the time.


GaryV(Posted 2013) [#22]
there is a high enough demand for it to justify the time making it,

Where? Except for the AAA titles, the industry has moved back to almost all 2D. It is very rare to see an indie developer turn out something 3D. Unless B3D can be marketed to the AAA companies and unseat C++ as the industry standard for 3D gaming, B3D is likely better off as it is.

Technically, what you are asking for is already there. If you run B3D on a modern system, due to the emulation Windows uses, B3D will be using DX9 or higher (depending on the version of Windows). Yes, it is not great, but it keeps it working on modern systems.


JohnT(Posted 2013) [#23]
Where?! Take a look through the forum! The topic has come up enough times to show there is a high demand!

There are many indie developers turning out 3D games. Just take a look at the Steam system to see many indie games in 3D. Please do take the time to research before making a statement such as "It is very rare to see an indie developer turn out something 3D"

Technically what I am asking for is NOT out there. Yes, Windows emulates DirectX 7 now but that has its drawbacks. The main one being that DirectX 7 support WILL be removed in future so Blitz3D will stop working. And of course the reason of this thread's topic, that it is drastically slow in full screen which is opposite to expected behavior of 3D systems!

MiniB3D uses the Blitz3D SDK to provide the Blitz3D functionality in BlitzMax so runs into the same DirectX 7 problems as Blitz3D, another reason not to use it.

This makes a fully DirectX 9/10/11 compatible updated Blitz3D a much desired and valid product. It would enable us to use advanced features of DirectX not available in version 7 and also enable things like Nvidia's 3D Vision to work with the 3D mode. Something even Dark Basic can not do.


GaryV(Posted 2013) [#24]
MiniB3D uses the Blitz3D SDK to provide the Blitz3D functionality in BlitzMax so runs into the same DirectX 7 problems as Blitz3D, another reason not to use it.

MiniB3D does not use DX7, it uses OpenGL. It does not have the same issues as B3D. Please do take the time to research before making a statement like the one you made above.

This makes a fully DirectX 9/10/11 compatible updated Blitz3D a much desired and valid product.

Demand can't be too much, as there is a competing product that is like B3D, defaults to DX11 and falls back to DX9 and the community there is almost dead.