A fact about how software-rendering is managed in practice, today.

People of my generation – and I’m over 50 years old as I’m writing this – first learned about CGI – computer-simulated images – in the form of ‘ray-tracing’. What my contemporaries are slow to find out is that meanwhile, an important additional form of CGI has come into existence, which is referred to as ‘raster-based rendering’.

Ray-tracing has as advantage over raster-based rendering, better optical accuracy, which leads to photo-realism. Ray-tracing therefore still gets used a lot, especially in Hollywood-originated CGI for Movies, etc.. But ray-tracing still has a big drawback, which is, that it’s slow to compute. Typically, ray-tracing cannot be done in real-time, needs to be performed on a farm of computers, and typically, an hour of CPU-time may be needed, to render a sequence which might play for 10 seconds.

But, in order for consumers to be able to play 3D games, the CGI needs to be in real-time, for which reason the other type of rendering was invented in the 1990s, and this form of rendering is carried out by the graphics hardware, in real-time.

What this dichotomy has led to, is model- and scene-editors such as “Blender”, which allow complex editing of 3D content, often with the purpose that the content eventually be rendered by arbitrary, external methods, that include software-based, ray tracing. But such editing applications still themselves possess an Editing Preview window / rectangle, in which their power-users can see the technical details of what they’re editing, in real-time. And those editing preview windows are then hardware-rendered, using raster-based methods, instead of the final result being rendered using raster-based methods.

Continue reading A fact about how software-rendering is managed in practice, today.

Print Friendly, PDF & Email

Understanding why some e-Readers fall short of performing as Android tablets (Setting, Hidden Benefits).

There is a fact about modern graphics chips which some people may not be aware of – especially some Linux users – but which I was recently reminded of because I have bought an e-Reader that has the Android O/S, but that features the energy-saving benefits of “e-Ink” – an innovative technology that has a surface somewhat resembling paper, the brightness of which can vary between white and black, but that mainly uses available light, although back-lit and front-lit versions of e-Ink now exist, and that consumes very little current, so that it’s frequently possible to read an entire book on one battery-charge. With an average Android tablet that merely has an LCD, the battery-life can impede enjoying an e-Book.

An LCD still has in common with the old CRTs, being refreshed at a fixed frequency by something called a “raster” – a pattern that scans a region of memory and feeds pixel-values to the display sequentially, but maybe 60 times per second, thus refreshing the display that often. e-Ink pixels are sent a signal once, to change brightness, and then stay at the assigned brightness level until they receive another signal, to change again. What this means is that, at the hardware-level, e-Ink is less powerful than ‘frame-buffer devices’ once were.

But any PC, Mac or Android graphics card or graphics chip manufactured later than in the 1990s has a non-trivial GPU – a ‘Graphics Processing Unit’ – that acts as a co-processor, working in parallel with the computer’s main CPU, to take much of the workload off the CPU, associated with rendering graphics to the screen. Much of what a modern GPU does consists of taking as input, pixels which software running on the CPU wrote either to a region of dedicated graphics memory, or, in the case of an Android device, to a region of memory shared between the GPU and the CPU, but part of the device’s RAM. And the GPU then typically ‘transforms’ the image of these pixels, to the way they will appear on the screen, finally. This ends up modifying a ‘Frame-Buffer’, the contents of which are controlled by the GPU and not the CPU, but which the raster scans, resulting in output to the actual screen.

Transforming an image can take place in a strictly 2D sense, or can take place in a sense that preserves 3D perspective, but that results in 2D screen-output. And it gets applied to desktop graphics as much as to application content. In the case of desktop graphics, the result is called ‘Compositing’, while in the case of application content, the result is either fancier output, or faster execution of the application, on the CPU. And on many Android devices, compositing results in multiple Home-Screens that can be scrolled, and the glitz of which is proven by how smoothly they scroll.

Either way, a modern GPU is much more versatile than a frame-buffer device was. And its benefits can contribute in unexpected places, such as when an application outputs text to the screen, but when the text is merely expected to scroll. Typically, the rasterization of fonts still takes place on the CPU, but results in pixel-values being written to shared memory, that correspond to text to be displayed. But the actual scrolling of the text can be performed by the GPU, where more than one page of text, with a fixed position in the drawing surface the CPU drew it to, is transformed by the GPU to advancing screen-positions, without the CPU having to redraw any pixels. (:1) This effect is often made more convincing, by the fact that at the end of a sequence, a transformed image is sometimes replaced by a fixed image, in a transition of the output, but between two graphics that are completely identical. These two graphics would reside in separate regions of RAM, even though the GPU can render a transition between them.

(Updated 4/20/2019, 12h45 … )

Continue reading Understanding why some e-Readers fall short of performing as Android tablets (Setting, Hidden Benefits).

Print Friendly, PDF & Email

One specific feature of the BOOX Max2 e-Reader falls short.

In a previous posting I wrote, that I am having a good experience so far, with my newly-acquired 13.3″ Onyx BOOX Max2 e-Reader. And a detail which I mentioned was, an eventual need to USB this device to a PC or Laptop. As an alternative, what many users expect, is some way to use Wi-Fi to transfer files. Yet, ‘SAMBA’ is Linux-software, while “SMB Protocol” is Windows-based, so that Onyx does not step outside its boundaries, to try to offer either. However, they try to make up for this.

If the user has the firmware update from December in 2018 installed, then under ‘Apps -> Transfer’, there is a modest app, which will act as a minimal Web-server and which, in addition to displaying a QR-code, also displays a URL with an IP-address and a port-number, which exist on the LAN, and which the user is meant to point a PC- or Laptop-based Web-browser at. There is no reason why the functionality of this URL would be limited to one O/S, under which the Web-browser is running.

A Web-page displays on the PC browser, that can use the inherent functionality of browsers to choose files on the PC, and to Upload those to the server, which resides on the e-Reader as long as the user doesn’t close this app.

  • This feature is mainly meant to allow e-Books to be transferred, and the choice of folders they appear in suggests, it wasn’t fully meant for other types of files, such as APK-Files.
  • Onyx could have tried a little harder and made it possible to transfer files in the opposite direction, let’s say from a specific folder on the e-Reader, to the Web-browser of the PC… Some people might think that this is redundant for an e-Reader because Books can be given to the e-Reader and later deleted on it. However, because the Max2 can also be used to store sketches with its Stylus, such a feature might not have truly been redundant.

So, because of the two bulleted reasons above, the need will ultimately remain, to USB this device to a PC.

However…

Continue reading One specific feature of the BOOX Max2 e-Reader falls short.

Print Friendly, PDF & Email

I’ve just received my 13.3″ Onyx BOOX Max2 e-Reader.

And so far I’m happy with it.

There exists an underlying issue with Android-based e-Readers, where these e-Readers are 4 years in the making, and where the issue is something I’m just learning about in recent weeks. As a security precaution, Google has toughened the requirements on the Google Play Store app, and on the Google Services app, which made numerous e-Readers, that were once proud to offer a working Google Play app, unable to connect to Google Play in the short term. This measure became effective as of March in 2018. However, certain manufacturers of such devices have been struggling to make their devices compliant with the new Google Store, and as far as I know, the BOOX Max2 which I just received, may be able to connect to the Google Play store fully.

(This posting has been revised, as of 4/14/2019, 10h15 : )

Out-of-the-box, the Max2 had a firmware version from April in 2018. But the latest Firmware update is from December in 2018.

  • I am glad to say that I found out how to set a PIN Code for this device because if there had truly been no way, then the cloud resources that I’m logged in to would be just as vulnerable, as an unlocked tablet. With the latest firmware, I found this setting under ‘Settings -> (Arrow to the Right) -> Screen Lock PIN Code’.
  • Apparently, the way to activate Google Play on this device, is now to go into “Settings -> Application” and to check “Activate Google Play”.

Instead of activating the Google Play Store, I have been focusing on using the Onyx app store for the time being. In days gone by, their in-house app store had a reputation of only offering apps in Chinese. But what the users of the Max2 can now do, is download e-Ink optimized apps in English. Those apps include the Amazon Kindle Android app.

This is a huge find for me because it also implies less of a security compromise, than what I’d have, if I was just to log the Max2 into Google Play.

I can side-load Free APK-Files to install software, and can install some additional proprietary, non-free apps from Onyx. APKs include the ‘OverDrive’ app, which allows me to check out books from my public library, in e-Book format. And what installs from the Onyx app store includes the ‘Kindle’ Android app, optimized for e-Ink.

I’ve tested both apps, and they seem to work fine.

But then again, speaking of side-loading… This can imply that files need to be transferred via USB-cable from a PC, to the device, and the device uses MTP as its protocol. There are some reports of issues in getting this to work from the Linux GUI, and I just ran in to such an issue…

Continue reading I’ve just received my 13.3″ Onyx BOOX Max2 e-Reader.

Print Friendly, PDF & Email