java - Java2D Graphics Render Only Through OpenGL Pipeline -


tl;dr: there way of forcing java2d graphics go through opengl pipeline, , entirely , ignore direct3d , directdraw (desired effect: opengl32.dll should used before ddraw.dll)?

i have created game using java , swing intent of publishing on steam. problem has arisen: steam overlay doesn't appear. after asking in discussion (not view-able people, keep reading gist) possible source of problem identified. game initializing direct3d , directdraw before opengl, , overlay hooking on first of these, opengl acceleration type supported steam overlay.

the problem fixed if direct3d , directdraw not used. way steam overlay not try hook on them first, , hook on opengl.

i have tried following flags disable direct3d , directdraw: -dsun.java2d.d3d=false -dsun.java2d.ddoffscreen=false -dsun.java2d.noddraw=true has made no noticeable effect (ddraw.dll still used).

opengl programmatically enabled because way steam api can initialize prior init of opengl device:

//init steam api here. api init required before opengl device init system.out.println("the api initialized successfully") system.setproperty("sun.java2d.opengl", "true"); //continue game initialization, creates frame, game loop, callbacks, etc. 

console output:

the api initialized opengl pipeline enabled default config on screen 0 

it worth noting javafx used in game purely audio. nothing graphical initialized. not sure if cause problem or conflict.

in summary:

i'm trying use opengl pipeline java2d steam overlay hook on opengl device. ddraw.dll (direct draw) being used before opengl32.dll used (making overlay tries , fails hook on ddraw.dll because it's being used first). i'm trying not use ddraw.dll, try hook on opengl32.dll.

side note: i'm not noticing difference when using opengl versus standard java2d. i'm getting opengl pipeline enabled message (above), possible it's still not using somehow?

as far know options have used apply awt , not javafx. javafx indeed problem here. not using javafx graphics anyway might switch off hardware acceleration of javafx via -dprism.order=sw. verify not using switch on logging via -dprism.verbose=true. not sure helps @ least woth try.


Comments

Popular posts from this blog

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

python Tkinter Capturing keyboard events save as one single string -

sql server - Why does Linq-to-SQL add unnecessary COUNT()? -