Ashley's Recent Forum Activity

  • Ashley is every Chromium release under Google's control? I mean is Google technically able to know who uses my app because it's made with Construct that uses Chromium to run the app itself? I guess the same applies for PC games, correct?

    I don't believe Chrome or the Android WebView (used for Android apps) tracks people to the level of identifying which website URLs they visit or which apps they use. There's a lot of privacy legislation around the world that would probably make that illegal, and if it emerged they were doing that anyway it would likely be a PR disaster for them. However there are various telemetry systems included in Chrome and Android WebView, although as I understand it, they are used only for technical purposes, such as measuring the number of crashes, and controlling (or reverting) the roll-out of complex new features.

    That's what I believe the situation to be, but if you want the full details you'll have to read through Google's full privacy policies for Chrome and Android, and trust that they abide by what they've written (which I think you can generally count on as they can face serious legal action if they do something different).

  • See Performance Tips in the manual for some general advice. For future reference it's usually a lot easier to deal with if you identify such problems during development, rather than just at the end.

    You should be able to host a large .c3p file on a free cloud storage service like Google Drive, OneDrive, or Dropbox.

  • Yeah, the publishing requirements for Google Play usually change every year, and tools like Construct have to keep updating to ensure publishing is still possible. So old software will most likely not be able to be used for publishing any more. If you're happy with just getting a debug APK on one specific device then you might be able to use some older tools.

  • Changing the max spritesheet size just changes the size and number of exported images in your project. It's hard to see how that would affect anything, unless the problem was in fact something like running out of memory, and adjusting the spritesheet size allowed more efficient use of memory.

  • See expressions in the manual for more details. You can use boolean expressions for conditions too, like Variable1 < 100 ? "Score too low" : "High score!"

  • I doubt it's feasible to get Construct content working on such old devices. Even Chrome dropped support for Android 4.x devices a few years ago, and supporting very old software platforms gradually becomes harder and harder, much like trying to support Windows 95 today is impossible with any current tools. Besides, mobile devices tend to have their batteries fail, screens degrade, or otherwise have the hardware become unusable after several years. The turnover of mobile devices usually means seeing such old hardware still actively used is vanishingly rare.

  • Browsers don't paint the canvas and other HTML elements at exactly the same time (I'm not sure why). It means if you move a Sprite and a HTML element at the same time they may not be exactly in sync. I don't think there's any good workaround to this, other than to make sure the moving content is either all HTML elements, or all not HTML elements.

  • Do you know exactly what type of measurement you're looking at when you say Linux is using lots of memory? Accounting for memory usage is actually a lot more complicated than you might think. For example in Task Manager, Windows splits memory usage in to the categories "In use", "In use (compressed)", "Modified", "Standby" and "Free", with further measurements for "committed", "paged pool", and "non-paged pool". The concept of "total memory use" depends on which of these categories you include. For example in Windows the "standby" category is used in the sense there is lots of potentially useful cached data and code stored in memory which can help optimize the use of the system; however if an application suddenly demanded lots more memory, it can generally just release all that memory and give it to the application. So it's not used in the sense it blocks other applications from allocating memory. On my system memory is 41% full if you count just "In use", but 92% full if you count both "In use" and "Standby"; only about 7% is actually categorised as "Free". So the measurements can be wildly different depending on what is being counted, and the meaning of the result is significantly different too: 92% in use might be a problem, but 92% in use and standby is not a problem, because 51% of that memory is still actually available to applications should they need it.

  • There's this open issue which sounds related. I would hazard a guess that this is a bug in iOS and WKWebView isn't using gamepad input, but we need to finish reproducing/investigating it first, which is just taking a little longer as it's a hardware-dependent issue.

  • Then why is there a "GPU Preference" setting, what does it do?

    It changes what the application asks the system for. Sometimes the system will comply with it, and so the setting does take effect, but sometimes the system will disregard what the application asks for and so the setting does not take effect.

    Applications can't override system preferences. This has been a problem for years with dual-GPU laptops. If the system software does not apply the right preference, you'll need to contact the GPU manufacturer, as it's out of our hands.

    IIRC there were some hacks you could use to try to force applications to use specific GPUs with some vendors, but I don't think they were ever officially documented, so we didn't implement them ourselves. You could give it a go, but it would be at your own risk.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Dual-GPU systems commonly include system software that overrides the application's choice of GPU. There is nothing the application can do about this.

    The only options you have are:

    1. Instruct players to manually change their system settings to use the discrete GPU
    2. Try and get in touch with NVIDIA/AMD/whoever else and get them to change their system settings to default your game to the discrete GPU. They usually do this for big titles, but don't set it for every game.
  • This is actually a bug in Construct's TypeScript definitions: IWorldInstance.effects is actually an array of IEffectInstance, but it generates a type definition with a named map like instance variables and behaviors. So the correct usage is to treat it like an array, and to make TypeScript happy, for now work around it by casting to IEffectInstance[].

    As we're close to a stable release the fix for this is in the next release cycle (first beta after the next stable).

Ashley's avatar

Ashley

Early Adopter

Member since 21 May, 2007

Twitter
Ashley has 1,424,645 followers

Connect with Ashley

Trophy Case

  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Forum Wizard Made 5,000 posts in the forums
  • Forum Unicorn Made 10,000 posts in the forums
  • Forum Mega Brain Made 20,000 posts in the forums
  • x108
    Coach One of your tutorials has over 1,000 readers
  • x62
    Educator One of your tutorials has over 10,000 readers
  • x3
    Teacher One of your tutorials has over 100,000 readers
  • Sensei One of your tutorials has over 1,000,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • x35
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

32/44
How to earn trophies

Blogs