5 ms·
Short answer, yes, I believe it could work, though not with much margin to spare. It might require some dedicated optimization work to fit the frame budget, esp
by raphlinus 6y ago
Short answer, yes, I believe it could work, though not with much margin to spare. It might require some dedicated optimization work to fit the frame budget, especially when you know things about the scene (it's mostly small glyphs and with basically no overdraw) as opposed to being completely general purpose.
Doing a warp transformation in the element processing kernel would probably work just fine, and give you realistic movement and razor-sharp rendering.
I'd love to see such a thing and would very much like to encourage people to build it based on my results :)
- londons_explore 6y agoFor the OP's effect, remember you're probably going to want motion blur in each frame, which means you can render at a much lower resolution in the direction of motion (as long as you can do multipass rendering)
- chrismorgan 6y agoEek, hadn’t thought about how motion blur might be desirable. That’s going to get messy.
- ghusbands 6y agoI don't think you do want motion blur, as you don't know the direction in which the user's eyes are tracking. When games and films do motion blur, they know where they expect the viewer's attention to be, so blurring things they won't be tracking improves the look (especially at the low frame-rate of films). But if you happen to track the moving page, and you are likely to, and it has blur added, then it will look worse. Look at phone interfaces; even if you scroll fast, they don't add motion blur, and on high framerate and/or low-persistence displays, you can read things while it scrolls.
- Pulcinella 6y agoI have done some testing around this (motion blur while scrolling) and can confirm that motion blur is not practical for scrolling. It “looks nice” and is a nice effect, but makes the text completely unreadable while scrolling. If you have access to a Mac, the easiest way to check for your self is to add a CI motion blue filter to a tableview’s layer’s filter property (you can change the strength of the blur based on the speed of scrolling if you would like).
- FraKtus 6y agoAnother need for that kind of effect is for real-time events. I work on software that is used to create visual effects in real-time. It's used in live events such as concerts, clubs, corporate presentations. There you want to be able to render high-quality text in high resolution, even higher than 4K, and still allow a performer to add effects on text such as zooming, scrolling, doing 3D transition effects... Today the best way to do this is via a font atlas but it does not look nice when zooming. Also if you need non-European characters it may heavy preparing the font atlas. So I am looking for a library that would allow this kind of rendering manipulation for text rendering. Do you have any suggestions?
- raphlinus 6y agoIn the free software world, Pathfinder is probably your best bet, and I'm hopeful that it will take on speedups from compute (directly inspired by my research). The library that's probably the closest fit for what you describe is Slug.
- FraKtus 6y agoYou say free software and of course, it's nice to have source code and flexibility. I have nothing against licensing and it looks like things are moving there. Do you have a recommendation for Metal / DirectX support for that kind of rendering facilities? What matters more for me is performance.
- raphlinus 6y agoSlug has DirectX support (it runs on all major APIs). Pathfinder does not yet, but likely will in time. As always, evaluate the offerings and choose what meets your needs best. Performance is probably comparable between the two, but that depends hugely on workloads and how it's integrated into the rest of your system.
- FraKtus 6y agoThank you for sharing your experience I will investigate.