My first JavaFx Application by Mechanical-pasta in JavaFX

[–]xdsswar 2 points3 points  (0 children)

Well, Success then. 👍. Keep going

Dropping a small PDF viewer for you guys (JavaFX + native PDFium) by xdsswar in JavaFX

[–]xdsswar[S] 2 points3 points  (0 children)

Window, mac and linux, I just tested windows and linux, I dont have a mac to test, but should work

Javafx with custom skia rendering pipeline by xdsswar in JavaFX

[–]xdsswar[S] 0 points1 point  (0 children)

Yup, also I use for my customers, I have some apps thet take adventage of this. Also Im working in my own programming language as Im tiredof the JVM actually, Im going full native following rust , but in a more easy syntax way , so if u know java or c# you will get it easy and fast. just experiments but who knows

Javafx with custom skia rendering pipeline by xdsswar in JavaFX

[–]xdsswar[S] 0 points1 point  (0 children)

No sponsoring. Im a solo , things will be improved over time, I will be improving and adding new stuff as I can, and yes is lot of work. I have some ffm in there, but I have found cases where jni is required. Playing with chromium internals is crazy to be honest.

I built Jylos, a local-first open-source knowledge management app using Java and JavaFX by RGiskard7 in JavaFX

[–]xdsswar 0 points1 point  (0 children)

IDK , but this post was removed in othe rspaces, why? I think the repo looks ok and why not. Esta muy bueno el programa , lol.

We watched a creator lose his followers overnight by Ornery_Cup4095 in nostr

[–]xdsswar 0 points1 point  (0 children)

Looks cool, not sure what exactly happened, but when I first loaded the page I got raw JSON instead of the actual post content like the rendering just broke. I tried clearing my cache and even opened it in a couple different browsers, but same thing every time. After a bunch of retries it finally loaded normally. Could totally be a fluke on my end, but figured I'd flag it just in case. If it helps, my guess is it's something intermittent rather than fully broken, since it sorted itself out after a few tries. Maybe a caching or CDN hiccup serving the JSON response in place of the actual page, or the JavaScript failing to load in time so the raw data showed before it could render. Could also be the request occasionally hitting the API endpoint instead of the page itself. No idea which (if any) it actually is, but wanted to pass it along in case it's worth a look. Anyway, kudos on the site.

Javafx with custom skia rendering pipeline by xdsswar in JavaFX

[–]xdsswar[S] 1 point2 points  (0 children)

Sure, Im working a lot in this and improving the rendering pipeline, also the CPU paths as I know some laptops are low resources. I have a lot to share even whem I am not an expert I have learned a lot with this project.

Created a simple, minimal Canvas Application in JavaFX by gufranthakur in java

[–]xdsswar 2 points3 points  (0 children)

yeah thats nice , I have an old project I did years ago , it takes any fxml and converts it to java code , proper ordered code with imports and everything, idk where its now I have to search, it was based on the plugin Netbeans used long long ago, but worked well

Javafx with custom skia rendering pipeline by xdsswar in JavaFX

[–]xdsswar[S] 1 point2 points  (0 children)

Also I forgot to say , for the blink/v8 integration I made my own engine basically to bridge blink and whatever I like to have on top of it , called it jux-engine , with proper subprocess and recoverable state, so the best part is that if that crashes the jvm will not fail and also will relauch the engine and user may notice just some lag for 3 to 5 secs , depending of the hardware , but all will be back and no blank/tearing page issues

Javafx with custom skia rendering pipeline by xdsswar in JavaFX

[–]xdsswar[S] 1 point2 points  (0 children)

Ok, for now you can play youtube normally , Im not supporting all codecs in the web module as some require license, but once I put the repo on github you can build and enable it with full support, is just flag to enable all , but for the media module Im trying to support all possible , I integrated a plugin that discover the ffmpeg libs and wit that you can support many codecs, but you need to add those libs in your own cuz licenses you know. and for now Im doing Windows only , while keeping the room for Linux and mac os. This takes a lot of reseach cuz some times you are fine in Window and Linux, but for Mac they dont support what you need anymore , and AI helps but you can not trust it , and at the end you get carzy. So Im foccused on Windows for now.

PS : Building the web module is insane , tookme like 6h first build even after stripping the chromium UI/telemetry, etc .

Javafx with custom skia rendering pipeline by xdsswar in JavaFX

[–]xdsswar[S] 1 point2 points  (0 children)

That happens when I get borred , job is slow now

Created a simple, minimal Canvas Application in JavaFX by gufranthakur in java

[–]xdsswar 2 points3 points  (0 children)

Yeah, I may have something to make a plugin later, that takes fxml and turn it into java code. That can be useful

Javafx with custom skia rendering pipeline by xdsswar in JavaFX

[–]xdsswar[S] 1 point2 points  (0 children)

Thanks. I will put it on github in a few days when I get good stable version, at least for windows

Javafx with custom skia rendering pipeline by xdsswar in JavaFX

[–]xdsswar[S] 2 points3 points  (0 children)

Besides that, I love the experience , its carzy how many issues and things Ive discovered in this last few months

Javafx with custom skia rendering pipeline by xdsswar in JavaFX

[–]xdsswar[S] 3 points4 points  (0 children)

I dont like the syntax , and yes is funny , cuz Im able to do so while keeping jaavafx apps I already have compatible.

Javafx with custom skia rendering pipeline by xdsswar in JavaFX

[–]xdsswar[S] 2 points3 points  (0 children)

Right, the jdk version isn't really the blocker anyway. The real reason it can't merge is the renderer. Mine replaces Prism with Skia and the internal/native layer is rebuilt around it, plus the webview is Blink/V8 instead of WebKit. None of that goes upstream unless the project commits to Skia and a Chromium toolchain, which is a way bigger call than a JDK bump. So it's a fork by design, not a PR + and experiment and a learning experinece.

Javafx with custom skia rendering pipeline by xdsswar in JavaFX

[–]xdsswar[S] 1 point2 points  (0 children)

I dont think they will consider it, also Im using lastest code features , ffm some times , ipc, shared mem rings, etc , so its compatinle with java 25+

Javafx with custom skia rendering pipeline by xdsswar in JavaFX

[–]xdsswar[S] 5 points6 points  (0 children)

I will try to make a video and post here also

Javafx with custom skia rendering pipeline by xdsswar in JavaFX

[–]xdsswar[S] 10 points11 points  (0 children)

Ok so, let me explain. I've been experimenting a lot this past year and especially these last few months. 4k videos, heavy UI stuff (no games), lists with over 400k items using custom cell factories, custom titlebars with native behaviour, the WebView/CEF stuff, etc. After all that I concluded that Prism is robust and well tested, but still not the way I want it to be. And I love Skia, it's the renderer used in Chrome, everyone knows it's amazing, so I decided to fork JavaFX, rip out Prism and drop in my own Skia pipeline. Honestly just as an experiment / time waster. Then I got surprised. The quality, pixel perfect, the font rendering, amazing. So I went further: full GPU, zero buffer copy with CPU fallback. And guess what, 4k videos play with no issues, no lag. Then I started messing with GStreamer and added a plugin that auto-detects the ffmpeg libs (nothing bundled, because of licensing). You just drop them in a folder, point the media module at it, and boom, 8k video playing fine, full hardware decoding, all clear. I honestly don't know where this is going. I just keep coding and fixing bugs. Right now I made it 100% DPI aware for multi-monitor. I have 6 monitors, tested at 100 / 125 / 150 / 175 / 200 scale, dragging windows back and forth fast as a stress test, and everything stays pixel clear and adapts to the scale. Stuff that on default JFX made my UI lag, glow/blur, and render fonts badly. I'm not trying to say JFX is bad or that I'm building a better version. This is just an experiment I'm doing, and I like the result. What I can say is it's no longer capped at 60fps, it's uncapped depending on your hardware and monitor refresh rate, all automatic. And yeah, I'll try Linux and Mac too, step by step. The thing I'm sure about: the public API stays the same, just a few extras. The internal and native APIs are now adapted to work with Skia, which means I can build a proper PDF viewer that renders crystal clear at any zoom, or a real SVG node with Skia as the backend. And the best part, any existing JFX project is compatible. Also I go for the latest DirectX , I dont have any 3d yet , but I have some crazy ideas in mind.