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
Post a Comment