How can the BBC micro:bit's scrolling display be slowed down? - bbc-microbit

I am trying to give a BBC micro:bit to grandchildren and am learning how to use with the unit MicroPython, maybe also Javascript and MakeCode.
I have a problem viewing error messages on the micro:bit's small 5x5 LED screen due to scroll speed.
Is there a way to slow down the scroll and how?

Related

Can you force a full render of a list in Office Fabric?

I'm working with a List in Office Fabric, specifically a DetailsList. Within my list, I have a number of images that are pretty expensive to render, as well as a pretty big list of rows. Unfortunately, this means when I scroll down, there's a huge lag as the page is re-rendering new images (also frustratingly because it destroys the previous images, if I scroll back up it's similarly laggy).
Is there a way to force a render of the entire list so that it doesn't have to re-render when you scroll up or down? I don't mind having a long initial loading time as long as the actual scrolling portion doesn't have a high latency/isn't slow or jerky.
You can disable virtualization by returning false in the DetailsList's onShouldVirtualize callback.
The team is actively working on improving List / DetailsList virtualization in the coming months.
Relevant documentation pages describing the above prop:
https://developer.microsoft.com/en-us/fabric#/components/detailslist
https://github.com/OfficeDev/office-ui-fabric-react/blob/738e270892f99957aecf567e4b107f8e4cf86176/packages/office-ui-fabric-react/src/components/DetailsList/DetailsList.types.ts#L253

Controlling frame rate in SpriteKit

I am working on a project using SpriteKit to present simple shapes (SKShapeNode and SKSpriteNode) on the screen and move these shapes around in a predefined way.
I am interested in obtaining a very smooth motion, even for fast moving shapes (The code runs smooth for a couple of hundreds shapes and most of the time I only need less than 10).
I am quite satisfied with the motion smoothness for slowly moving objects on my macbook air and imac (60Hz displays and 60fps reported by showFPS in the SKView), however fast moving shapes create artefacts.
For that reason I would like to display the scene on a 120Hz monitor. I have scoured stackoverflow for a solution and only found solution to reduce the framerate from 60fps to 30 and 15 fps using frameInterval, but I haven't worked out how to obtain something higher than 60fps.
I have tried connecting my mac to a 85Hz CRT monitor (refresh rate set up in System Preferences to 85Hz), but my SKView still runs at 60fps.
Is there a way to access the EDID information of the monitor programmatically through SpriteKit? Is it possible to run an SKView at more than 60fps?
Thanks in advance

Emulate massive 2x4K screen size for interactive touchscreen project

I'm currently working on a project for an interactive visitor space and one of the interactive screens will be two landscape 4K screens side by side with an extended/stretched desktop.
So, the total screen resolution will be 7680px x 2180px. The application will be browser based and will allow multiple users to work with a media library and bring pictures and videos onto the screen and stretch, pan and play them and all that good stuff.
My problem is in testing this solution as we go through development. The actual screens are in Laguna Beach, CA and we are based in London. We can work with 1080p touchscreens, however there is nothing like testing on the real thing and I foresee difficulties.
Does anyone have any ideas how I could emulate this screen size, which would at least allow a little more confidence? I'm thinking of virtual machines, but not sure if this will even work.
Any help appreciated.
Many thanks
Pete
Try following this. http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1003
Good luck!

Animate screen while loading textures

My RPG-like game has random battles. When the player enters a random battle, it is necessary for my game to load the textures used within that battle (animated monsters, animations, etc). The textures are quite a lot, and rather big (the battles are very graphical intensive).
Such process consumes significant time. And while it is loading, the whole screen freezes.
The game's map freezes, and the wait time is significant - I personally find it annoying.
I can't afford to preload the textures because, after doing some math, I realized:
If I preload all the textures at the beginning of the game, the application will definitely crash.
If I preload the textures that are used in a specific map when the player enters the map, the application is very likely to crash as well.
I can only afford to load the textures when I need them, and dispose of them as soon as the battle ends.
I'd prefer to not use a "loading screen" image because it affects my game's design and concept. I want to avoid this approach.
If I could do some kind of animation while loading the textures, it would be great, which leads to my question: is that possible? What kind of animation, you ask? Well, how about... you remember when Final Fantasy used to distort the screen while apparently loading the textures? Something like that. But well, distorting is quite a time-consuming process as well, so maybe just a cool frame-by-frame animation or something.
While writing this, I realized that I could make small pauses between textures (there are multiple textures), and during such pauses, I update the screen to represent the animation's state. However, this is very unlikely to happen, because each texture is 2048x2048, so the animation would be refreshed at a rather laggy (and annoying) rate. I'd prefer to avoid this as well.
In a similar bind, i chose to
Convert all my animation textures to gzipped PVR. The load time (depending on the device) is improved by a factor of 2 to 4. Any artefacts caused by a conversion to PVR are not noticeable in motion.
I preload the idle animations (almost always on, except during a skill use or when hurt. I do this during the battle scene's fade-in. I control the fade-in myself on a tick rate of 50 ms, and at every frame i fire-up a preload of one of the idles ( there are a maximum of 8 of them, they take 20 or so ms.).
I have an 'engagement' class which computes the entire fight ahead of time. When an animation becomes un-needed, i unload it. Also, during a 'hurt' animation, i prefetch the next skill animation.
loads of fun. Best of luck with your game.
ps. Dont trust the simulator for actual response times. Go to devices rapidly to determine if you really have a performance issue.
pps. About point 1, that caused a significant size reduction for my app.
Since the battles are supposed to be at random, would it be possible to preload the textures for the next battle before that battle happens? Then the battle can start whenever the loading has completed.
Game decides battle should happen soon
Generate random encounter (monsters/background/etc?)
Load textures for the encounter
Start the encounter after the textures have loaded
The battles are still random, it's just that the encounter has been determined a bit before the user is aware a battle is about to happen.
You could load lower-resolution textures first, and in a background thread (NSOperation I think) kick off the load for the bigger textures, and 'swap' them when done.
As for animation, a lot of games start by loading the small textures when the player is far away, and as they get closer, the higher-res textures will 'fade' in

stop vb.net pausing when i scroll or move windows

I'm making... well, it's sort of like a game in VB.net (using VS2008, if it matters). Being sort of like a game, it's dependent on timing, but it also has a large area (have to scroll the window on pretty much any resolution).
The problem I'm having is that whenever I scroll the window (or move any of the smaller, additional windows) the program pauses what it's doing, and doesn't start again until I stop scrolling (or moving windows, or whatever).
I hate to sound picky, but the program keeping track of how much time it's lost and making it up for it when you're finished scrolling isn't going to cut it.
So is there any way to stop it pausing when you scroll or move windows? Thanks for your answers.
Essentially, you can’t (reliably). Don’t use scroll controls, or in fact any controls at all. It’s a common beginners’ error to use multiple controls in a game.
Render all your game in one PictureBox control and scroll that using e.g. the ScrollDC Windows API function, or by building up the graphic incrementally as the user scrolls. This is more difficult but also usually more efficient since you only need to draw a smaller area (i.e. the visible area, and nothing more).
If that’s not fast enough, chances are that GDI+ graphics won’t cut it and you need to resort to DirectX/XNA.