-
Content Count
344 -
Joined
-
Last visited
-
Days Won
9
Everything posted by Patrick PREMARTIN
-
Extreme slow-down in Windows FMX app UI since upgrading to 12.1
Patrick PREMARTIN replied to domus's topic in FMX
It's probably done on the commit comment with an internal ticket number. No reason to put it in the source file on the comment visible by the public (= us). -
Extreme slow-down in Windows FMX app UI since upgrading to 12.1
Patrick PREMARTIN replied to domus's topic in FMX
Thanks @Cristian Peța I've updated my sample project on https://embt.atlassian.net/servicedesk/customer/portal/1/RSS-3711 Hope they found a way to optimize this for 13. -
Extreme slow-down in Windows FMX app UI since upgrading to 12.1
Patrick PREMARTIN replied to domus's topic in FMX
I open the issue https://embt.atlassian.net/servicedesk/customer/portal/1/RSS-3711 You can follow it by enabling the notifications after login on this URL (quality.embarcadero.com). The difference between TThread.Queue() and TThread.ForceQueue() happens in the main thread : in the first case the code is executed, in the second it's delayed to next message processing iteration. Unfortunately, the behavior is not the same on Mac and Windows and in this project the form is only refreshed on macOS, for Windows it's done at the end. -
Extreme slow-down in Windows FMX app UI since upgrading to 12.1
Patrick PREMARTIN replied to domus's topic in FMX
Ok, in that case I confirm the big speed loss between 11.3 Alexandria and 12.3 Athens for this project, even with my changes. Did you opened an issue on QP or can I open it ? -
Extreme slow-down in Windows FMX app UI since upgrading to 12.1
Patrick PREMARTIN replied to domus's topic in FMX
And to remove the Application.ProcessMessages, you can do that : I know the TThread.ForceQueue() has its detractors, but in this context it works very well. PS : it works for Mac, but the display is not done on Windows... -
Extreme slow-down in Windows FMX app UI since upgrading to 12.1
Patrick PREMARTIN replied to domus's topic in FMX
Even if using visual components in threads is a real bad idea, in your case (because you stop the refresh), you can use Parallel.For() loop from System.Threading. It's a simple case where it works well. -
Extreme slow-down in Windows FMX app UI since upgrading to 12.1
Patrick PREMARTIN replied to domus's topic in FMX
Hi @domus Just to be sure: do you really need TRectangle instances or is it only to draw cubes "falling" (to the right) on the screen ? In your loop, if they are outside the screen, do you need to change their Position.x value ? I understand why you used the Application.ProcessMessages, but for me it's like FreeAndNil() for Nick H. : never use it, find an other way. 🙂 I'll try your code, but i'm on an ARM Windows on Mac, it's "slow" by design. -
Extreme slow-down in Windows FMX app UI since upgrading to 12.1
Patrick PREMARTIN replied to domus's topic in FMX
If you use Skia and have any things to draw on screen, enable other graphic libraries on other platforms and disable the raster by adding unit FMX.Types in your program and this after the GlobalUseSkia: PS : the "add code" tool don't work on my browser (latest Safari), I used QUOTE instead of it -
Extreme slow-down in Windows FMX app UI since upgrading to 12.1
Patrick PREMARTIN replied to domus's topic in FMX
Very strange. I didn't see this on my apps (but I mainly use them on macOS except for developers tools). Windows 24H2 (in a VM) had an bad effect under Parallels (and sometimes on "real" PC) but nothing seen linked to FireMonkey itself. Are you using the BringToFront often in your app ? Have the screens many layers of visual components? Do you use animations ? Do you use BeginUpdate/EndUpdate when you fill or draw things ? -
It's not what I read there : the splash screen images have been changes as some icons but not all. You should have all images like there :
-
Thanks. In this file you only changed the splash screen images. i see nothing wrong in it.
-
That's really surprising. So I have to ask again: are the splash screen images correctly specified in the project options? Would it be possible to share the DPROJ file (be careful with any passwords it may contain, such as the Android certificate password)?
-
This is abnormal behavior. You shouldn't need to go back over it if you save the options properly after making changes. Does this happen in the latest version of Delphi or RAD Studio? Does it happen on old projects or projects created in this version?
-
Try the blue arrow, it should refresh all the files.
-
They made a strange choice for this windows UI. I know. The checkbox are there to select the files to deploy, they don't have an other effect. Select the line(s) you want to remove, click on the grey cross (third icon from the left) to remove it/them. I suggest to click on the "local path" column to order the list and have all artworks at the same place.
-
In the deployment wizard files list, remove all ($bds)/bin/artwork(...) files. In Project / Options / Applications / Icons dialog, check what you have in your "splash screen" tab for the Android 32 release. Retry a Project / Build all and a Project / Deploy. This should fix the problem.
-
You still have some FMX icons. Are you sure the sizes used on your device correspond to your images (or its for notification+splash screen) ? Did you tried to unzip your Android package or checked what images are in the android/release/ folder ?
-
Go to Project / Deployment menu to access the deployment wizard. In the list of files included in your release you perhaps have old files and new ones. I know it should never happen, but I've seen it in the past. Remove the wrong lines or use the blue array to restore default values. It will recalculate the needed files when you deploy next time and should use the good pictures.
-
In some are cases it happened old images stay in the deployment wizard. Check in it if you have previous images and clear the list or remove only the files you don't want. Sometimes (more probable) the files are the good ones but there is a cache on the device which doesn't want to refresh the icon. Restart your smartphone or tablet if all is ok in Project / Deployment screen.
-
TMS Smart Setup is now open source
Patrick PREMARTIN replied to A.M. Hoornweg's topic in Delphi Third-Party
Great move for an interesting product. It remains to be seen how the “market” will evolve in relation to other package and dependency management systems available for Delphi or Pascal projects in general. -
Delphi (via Parallels) - blurry fonts on 27 inch monitor
Patrick PREMARTIN replied to Joe Sansalone's topic in Delphi IDE and APIs
Can you share a screen capture (taken from the Mac) ? On my M1 I have only 8 gb, Parallels and the VMs don't need more to work. Are you in full screen mode or in "unity" with your VM in a window ? -
Delphi (via Parallels) - blurry fonts on 27 inch monitor
Patrick PREMARTIN replied to Joe Sansalone's topic in Delphi IDE and APIs
Hi Joe I don't have any problem on my 4K monitor. Did you installed the Windows drivers of your screen (if Windows & Parallels detect it) ? A new release of Parallels have been published this week, perhaps it will fix this problem with others "optimizations and bug fixes". -
Beware of imitations and possible scams
Patrick PREMARTIN posted a topic in Tips / Blogs / Tutorials / Videos
Wondering why I created Copyright Pascal Projects and use it on all my repositories to add copyright comments and links to the top of files? Here is one of the many repositories that sums up the answer: https://github.com/prasanna-debug/Bubbleoid-GGJ2025 Automated robots, humans, AI, and spammers are pumping code repositories, replacing copyright notices and README.md files (but not in other languages like LISEZMOI.md for French), remove sponsorship information, and claim third-party project content in order to generate traffic to GitHub (and probably elsewhere) while retaining the reference to the original contributor to give their submission an air of “seriousness.” Their goal? To get developers or users to download their versions of source code or executables... If you use public code repositories, go to the source, don't rely on copies (whether dubious or unmaintained). Make your own fork or clone of the original repository if you have changes to make. Keep the link between repositories to benefit from source updates and share your own. Remain very cautious, on GitHub as elsewhere! -
Some games and project samples with FireMonkey in Delphi
Patrick PREMARTIN posted a topic in I made this
Hello After talking about some of my utilities in November, I thought it would be interesting to talk about the other side: video games. I only do 2D, generally using FireMonkey. On classic FMX projects I add some of my libraries: game controllers, support for graphic elements as user components, help bar, music, score and settings storage. Everything is open source and available on GitHub. I have a few game projects developed under Delphi also visible on GitHub. They're available as executables or will be when I'm happy with how they work. Files containing licensed items, passwords or encryption keys are not put online. This prevents programs from being compiled, but not from reading their source code. If you're interested in the subject of game coding, here are a few repositories to look into: Delphi FMX Game Snippets: demos and examples of features and games (such as match-3, coded today as a TFrame). My Delphi libraries: a set of units I use everywhere, including SVG image list management and settings storage for my programs. Delphi Game Engine: components and libraries to support what we use in classic video games, with as few dependencies as possible and ideally cross-platform. Gamolf FMX Game Starter Kit: I presented it at the Embarcadero online conference in July 2024. This starter kit has evolved and simplified quite a bit since then. I've started switching my games over to it. There's still all the documentation to be produced before it's really usable by you, but I'm available if you have any questions. A pack of Delphi games: the list of my open source games available on GitHub. These projects are intended to work as much as possible with what Embarcadero provides, to be as simple as possible to use, consult and understand. I don't and never will support everything done by Castle Game Engine, Gorilla3D, APUS or other specialized game engines. On the other hand, what I offer should satisfy the majority of 2D video games (or 3D if you manage it yourself). PS: As with the utilities, the game sites are not all available and redirect to Itch.io or GitHub. Yesterday's release of this repository and the start of work on two others should finally allow me to create the hundred or so sites I've been waiting for. That should keep me busy for another year or two... 😉 -
Some games and project samples with FireMonkey in Delphi
Patrick PREMARTIN replied to Patrick PREMARTIN's topic in I made this
Last week-end I finished the rebuild in Delphi FMX of the video game Bidioo I've created in AGK Basic in 2013. It's a match-3 game. I used the sample match-3 TFrame added to Delphi FMX Game Snippets two weeks ago. The graphics are in SVG. I use Skia like in my other recent games. On iOS and macOS with Metal it's very speed. The best experience is of course on an iPad. On Windows without the Skia raster it works as expected (in a VM, I didn't check on a real PC). On Android it's too slow to have the full animations, but it works. I've to find the reason and check with Skia4Delphi and EMB teams if a solution can be found. The 2.0 version has been published on stores. you'll find the download links on this page. I can send you free coupons if you want to test the game on an Apple device. Just send me a private message. For Windows, use Itch to get the installer (and the game) for free. The source code of the project are on GitHub except some files where are stores the SVG (the images are under closed licenses). It won't compile as it instead of the match-3 sample project. Some demos are available from YouTube and PeerTube. If you want to talk about game programming in Delphi or this particular game, you know how to message me. We can do anythings in Delphi. Just try. 😉