What Kaeru pointed out is that PB is a multiplatform language made for simple usage. The smplicity allows rapid development but doesent optimize for every possible solution, to optimize and handle several things as you like it thats the freedom of a programmer and also should be one of his maintasks.is that about it?
PB wraps per operating system the existing API functions for maximum compatibility and system-friendlyness ( why reinvent the wheel ? ). Specific PB Functions are handmade ASM which build the base subsystems.
Then there is a distinct differnece between Screens and Windows - while you can set a framerate and use flipbuffers on screens a window is opened on a screen already which has more or less fixed parameters, however the drawing operations on a window work somewhat different. While for example a screen has a constant framerate you can set via SetFrameRate() while a for exmaple windows desktop has a fixed framerate/sync frequency and under windows refreshes as fast as possible ( maximizing cpu usage ) and the only way to limit is is using delay and/or an event-based solution for the drawing operations to just redraw it if it is needed. While Commands like Delay() are a pretty easy way to handle it - their precision isn't exactly what is needed in some cases and that is what for example the timeGetDevCaps_ API command is for as it operates in a higher resolution than the standard Delay() which is a wrap for sleep_() . The Resolution for this commands is given by the Host Operating System, so you will notice that a delay(1) under Windows is roughtly 16ms of delay while under linux it represents indeed 1 ms but that is because of the implementation of the said API commands. So some Knowledge about the Operating System you are writing your Software for is of great help writing stuff "the non standard way" and to evaluate why several things behave different under Windows and Linux for exmaple. That said i have to say some Knowledge about Windows API is necessairy to achieve some tasks under Windows as they were meant to by M$, theres nothing Fred can do about it unless to rewrite the Libraries to handle the functions the same way but also would make things more unflexible and non-system conform - plus generate some bloat. Its the programmers Freedom to implement special stuff themselves and PB gives you all this possibilities and Freedom. For Example using VB under Windows you would be stuck only with WinAPI and without you would barely be able to do anything! Be happy things are implemented as they are because PBs Commands simplify most things you would need alot technical Knowledge to achieve in anotehr Language - lets say C or VB whatever. Using an Engine such as Ogre to draw into a Window is anotehr Story here as the engine does Things like keeping the sync order etc for you, while when your working with drawing commands which are optimized for flexibility and speed you have to take care of the sync yourself according to the target your drawing on ( a Window in your case on a System Screen ).
I totally agree. But to do things RIGHT you need to understand the Platform you are programming for - otehrwise you end up doing things some ghetto patchwork way often resulting in non-standard behaving programs. Blaming is easy, but before doing that try to understand how things work first. people here trying to explain this to you but you seem to have ideas how things should work on your own, try to be more open and listen to people who know.. its nothing wrong with admitting that you dont know how to do some things the "RIGHT" way.If it's worth doing, it's worth doing it right.
And yes Amiga was/is a TOTALLY different platform with a UNIQUE Screen Managment - Times changed. And some of teh simplest Tasks back then now require a little more Knowledge ( here i go again ) to achieve the same way as you did it back then on a completelly different System - while some of teh methods especially regarding Graphics are in NO WAY native-compatible in the way Windows works.
Hope this made it clear.
Thalius


