6 ms·
What OS do you use? And does the mouse being a ps/2 input vs USB make a difference?
by rudolph9 6y ago
What OS do you use?
And does the mouse being a ps/2 input vs USB make a difference?
- jacquesm 6y agoRight now I use Linux, unfortunately a series of corporate games left QnX without a window manager and mostly useful for embedded work. But if someone were to do a 64 bit port of it it would be an awesome workstation OS even today. And that's just the UI, under the hood it was very impressive as well. Extremely elegant and well thought out.
- rudolph9 6y agoAre there any open source real-time operating systems?
- jacquesm 6y agoNone with a GUI. I never released mine, and it's so far behind the times now it would take major work to get it ported to the 64 bit era and even then it would still be a C based OS. This would be one way in which the Rust crowd could really make a difference.
- pedrocr 6y agoRedox seems like a big effort that has at least some of the properties you're looking for: https://www.redox-os.org/ https://www.redox-os.org/
- TheCycoONE 6y agoBut Redox is not a real time OS is it? I've not seen it written as part of the design or as a future goal.
- pedrocr 6y agoIt's a microkernel with even the drivers running in userspace, and has its own graphics stack. Seems the ideal setting to go for realtime requirements for the UI. I don't know if they've done anything in that direction but it seems the most well positioned to fulfill the requirements jacquesm was hoping for.
- jacquesm 6y agoIf they can see it through then that's a pretty good development. But there is more to QnX than just 'realtime' and 'microkernel', their whole philosophy about how a cluster of machines should work, the services location and so on is very well thought out. I'd be happier if Redox took some more lessons from Erlang and QnX on board than to do a re-invention. We have a lot of knowledge about systems like that lying around and re-inventing the wheel is fun but also ultimately will lead to having to re-learn those lessons the hard way.
- pedrocr 6y agoPerhaps you should lend a hand then? :)
- snovv_crash 6y agoNot for large systems, but in the embedded space there is Nuttx (now managed by Apache foundation).
- ahartmetz 6y agoBlackberry BB10 was based on QNX. The UI "feel" was fantastic.
- pqb 6y agoYes, it was fantastic - minimal, elegant, simple, fast, had low learning curve and everything had a description - even icons in action bar[0]. As their competitors, namely iOS7+ and Android 5+ totally replaced gradients into flat design I was very welcoming the balanced UI redesign on my Z10[1]. However, autocompletion on their touch keyboard was probably the best [2], you had 3-5 suggestion that were spread around on the keyboard and to use them I had to place a finger below and flick it up. On BB Passport it was even more pleasant with physical keyboard - it had small gesture sensor and reacted on swipes in the air above the keyboard. On the developer side, documentation was also amazing. There are tens of full, working example applications. BB10 used QT behind the scenes (Cascades UI). It had also a Python (2.x) binary on the device among other typical UNIX programs. [0]: https://developer.blackberry.com/devzone/files/design/bb10/images/10_3_action_bar_large.png https://developer.blackberry.com/devzone/files/design/bb10/i... [1]: https://developer.blackberry.com/devzone/design/bb10/10_3_visual_updates.html https://developer.blackberry.com/devzone/design/bb10/10_3_vi... [2]: https://developer.blackberry.com/devzone/design/bb10/keyboards.html https://developer.blackberry.com/devzone/design/bb10/keyboar...
- ahartmetz 6y agoI've been involved with Qt for a long time and got a Z10 as a conference freebie, but the great developer documentation is actually news to me! I prefer to just use phones, I develop for PC hardware for fun and embedded platforms for money these days. At the time, some of my coworkers helped with porting Qt to QNX. I worked on a different Qt project on QNX and I was also duly impressed by the technical quality and elegance of the OS. The BB10 UI was built on something like QML (the language and runtime) from Qt 4 with their own UI elements and an OpenGL based backend from the acquired company The Astonishing Tribe. They had animations e.g. for slider switches running in the render thread, perfect 60 fps. Qt Quick (the UI framework based on QML, colloquially called "QML") only got an OpenGL backend in Qt 5. Another very good Qt-based phone OS (after the Nokia N9, got one of these at a conference as well) that failed :( By the way, the Ford Sync 3 IVI ("in-vehicle infotainment system") is also based on QNX and Qt and it received fairly good reviews. I think I made some tiny contribution to it, if only helping a coworker with something.
- Shorel 6y ago> And does the mouse being a ps/2 input vs USB make a difference? The difference used to be very noticeable. Nowadays my PC doesn't have a PS/2 port.
- rudolph9 6y agoIs the difference due to changes in the operating system or is it due to differences in hardware usb vs ps/2 inputs?
- mariusmg 6y agoMainly due to hardware : - USB works by polling for changes at fixed intervals - ps/2 works with interrupts, so the OS will know immediately when hw does something.
- ChuckNorris89 6y agoWhat about USB mice with 250-1000Hz polling rate. I can't imagine it's still a problem.
- joshspankit 6y agoI might even argue that it’s a worse problem. A kid who asks you 1000 times a second whether you are there yet is going to know within 1ms of when you get there, but I imagine we’d all like being the driver much more if there were no “are we there yet”s and all the kid needed was one “We’re here” exactly when you arrive.
- amluto 6y agoAs I understand it, USB2 drivers don’t actually poll — the host controller chip polls the mouse. On USB3, there’s a real interrupt mechanism.
- Kliment 6y agoThere is in fact an interrupt mechanism for input devices - the host sends a request with a long timeout and the device responds to the outstanding request when it has something exciting to report, or when the timeout is about to expire. This is used frequently in low input rate devices like keyboards. Gaming mice use a high polling rate because it saves you the effort of keeping track of outstanding requests - you just report your current state immediately on every request, and the driver end can decide how often to ask you.